openmates 0.18.0-alpha.38 → 0.18.0-alpha.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/{chunk-VUCGBEOO.js → chunk-HHNJW3Z6.js} +589 -10
- package/dist/{cli-DDNwbX2B.d.ts → cli-DfLQ_qY9.d.ts} +20 -2
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.d.ts +14 -3
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -8309,6 +8309,7 @@ function parseMailVersionContent(versionContent) {
|
|
|
8309
8309
|
};
|
|
8310
8310
|
}
|
|
8311
8311
|
var OpenMatesClient = class _OpenMatesClient {
|
|
8312
|
+
workflowDeliveriesBySocket = /* @__PURE__ */ new WeakMap();
|
|
8312
8313
|
apiUrl;
|
|
8313
8314
|
session;
|
|
8314
8315
|
http;
|
|
@@ -13034,11 +13035,30 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
13034
13035
|
}
|
|
13035
13036
|
return response.data;
|
|
13036
13037
|
}
|
|
13038
|
+
async deleteWorkflowRun(workflowId, runId) {
|
|
13039
|
+
this.requireSession();
|
|
13040
|
+
const response = await this.http.delete(
|
|
13041
|
+
`/v1/workflows/${encodeURIComponent(workflowId)}/runs/${encodeURIComponent(runId)}`,
|
|
13042
|
+
this.getCliRequestHeaders()
|
|
13043
|
+
);
|
|
13044
|
+
if (!response.ok || !["deleted", "deletion_pending"].includes(response.data.status)) throw new Error(`Workflow run deletion failed with HTTP ${response.status}`);
|
|
13045
|
+
return response.data;
|
|
13046
|
+
}
|
|
13047
|
+
async previewWorkflowStep(workflowId, stepId, params = {}) {
|
|
13048
|
+
this.requireSession();
|
|
13049
|
+
const response = await this.http.post(
|
|
13050
|
+
`/v1/workflows/${encodeURIComponent(workflowId)}/steps/${encodeURIComponent(stepId)}/preview`,
|
|
13051
|
+
{ input: params.input ?? {}, ...params.node ? { node: params.node } : {}, upstream_outputs: params.upstreamOutputs ?? {} },
|
|
13052
|
+
this.getCliRequestHeaders()
|
|
13053
|
+
);
|
|
13054
|
+
if (!response.ok || !response.data.preview) throw new Error(`Workflow preview failed with HTTP ${response.status}`);
|
|
13055
|
+
return response.data.preview;
|
|
13056
|
+
}
|
|
13037
13057
|
async testWorkflowStep(workflowId, stepId, params = {}) {
|
|
13038
13058
|
this.requireSession();
|
|
13039
13059
|
const response = await this.http.post(
|
|
13040
13060
|
`/v1/workflows/${encodeURIComponent(workflowId)}/steps/${encodeURIComponent(stepId)}/test`,
|
|
13041
|
-
{ input: params.input ?? {}, confirmed: params.confirmed === true },
|
|
13061
|
+
{ input: params.input ?? {}, confirmed: params.confirmed === true, ...params.node ? { node: params.node } : {}, ...params.upstreamOutputs ? { upstream_outputs: params.upstreamOutputs } : {} },
|
|
13042
13062
|
this.getCliRequestHeaders()
|
|
13043
13063
|
);
|
|
13044
13064
|
if (!response.ok || !response.data.run) {
|
|
@@ -15474,7 +15494,7 @@ Required: ${schema.required.join(", ")}`
|
|
|
15474
15494
|
return session;
|
|
15475
15495
|
}
|
|
15476
15496
|
makeWsClient(session, options = {}) {
|
|
15477
|
-
|
|
15497
|
+
const ws = new OpenMatesWsClient({
|
|
15478
15498
|
apiUrl: session.apiUrl,
|
|
15479
15499
|
sessionId: randomUUID8(),
|
|
15480
15500
|
wsToken: session.wsToken,
|
|
@@ -15489,6 +15509,14 @@ Required: ${schema.required.join(", ")}`
|
|
|
15489
15509
|
this.session = null;
|
|
15490
15510
|
}
|
|
15491
15511
|
});
|
|
15512
|
+
const deliveries = /* @__PURE__ */ new Map();
|
|
15513
|
+
this.workflowDeliveriesBySocket.set(ws, deliveries);
|
|
15514
|
+
ws.onMessageType("workflow_chat_deliveries_available", (payload) => {
|
|
15515
|
+
for (const delivery of payload.deliveries ?? []) {
|
|
15516
|
+
if (delivery.delivery_id) deliveries.set(delivery.delivery_id, delivery);
|
|
15517
|
+
}
|
|
15518
|
+
});
|
|
15519
|
+
return ws;
|
|
15492
15520
|
}
|
|
15493
15521
|
/**
|
|
15494
15522
|
* Refresh ws_token, then create and open a WebSocket client.
|
|
@@ -15571,7 +15599,7 @@ Required: ${schema.required.join(", ")}`
|
|
|
15571
15599
|
if (embedId) clientEmbedIds.push(embedId);
|
|
15572
15600
|
}
|
|
15573
15601
|
}
|
|
15574
|
-
const { ws } = await this.openWsClient();
|
|
15602
|
+
const { ws, ownerId } = await this.openWsClient();
|
|
15575
15603
|
const chats = [];
|
|
15576
15604
|
const embeds = [];
|
|
15577
15605
|
const embedKeys = [];
|
|
@@ -15747,8 +15775,12 @@ Required: ${schema.required.join(", ")}`
|
|
|
15747
15775
|
(a, b) => (typeof b.details.last_edited_overall_timestamp === "number" ? b.details.last_edited_overall_timestamp : 0) - (typeof a.details.last_edited_overall_timestamp === "number" ? a.details.last_edited_overall_timestamp : 0)
|
|
15748
15776
|
);
|
|
15749
15777
|
let persistedTaskJobIds = /* @__PURE__ */ new Set();
|
|
15778
|
+
let persistedWorkflowDeliveryCount = 0;
|
|
15750
15779
|
try {
|
|
15751
15780
|
await this.persistPendingAIResponsesFromSync(ws, chats, pendingAIResponses, teamId);
|
|
15781
|
+
if (!teamId && ownerId) {
|
|
15782
|
+
persistedWorkflowDeliveryCount = await this.persistPendingWorkflowChatDeliveries({ ws, ownerId, chats });
|
|
15783
|
+
}
|
|
15752
15784
|
persistedTaskJobIds = await this.persistPendingTaskUpdateJobs({
|
|
15753
15785
|
ws,
|
|
15754
15786
|
jobs: pendingTaskUpdateJobs,
|
|
@@ -15763,7 +15795,7 @@ Required: ${schema.required.join(", ")}`
|
|
|
15763
15795
|
} finally {
|
|
15764
15796
|
ws.close();
|
|
15765
15797
|
}
|
|
15766
|
-
if (persistedTaskJobIds.size > 0) {
|
|
15798
|
+
if (persistedTaskJobIds.size > 0 || persistedWorkflowDeliveryCount > 0) {
|
|
15767
15799
|
clearSyncCache(teamId);
|
|
15768
15800
|
return this.ensureSynced(true, refreshChatIds, { teamId });
|
|
15769
15801
|
}
|
|
@@ -15780,6 +15812,121 @@ Required: ${schema.required.join(", ")}`
|
|
|
15780
15812
|
saveSyncCache(cache, teamId);
|
|
15781
15813
|
return cache;
|
|
15782
15814
|
}
|
|
15815
|
+
/**
|
|
15816
|
+
* Claim and finish reconnect workflow deliveries using only normal client
|
|
15817
|
+
* ciphertext. A fenced server transaction persists chat/message/selected
|
|
15818
|
+
* embeds before acknowledgement commits their cross-run delivery history.
|
|
15819
|
+
*/
|
|
15820
|
+
async persistPendingWorkflowChatDeliveries(params) {
|
|
15821
|
+
const { ws, ownerId, chats } = params;
|
|
15822
|
+
const discoveries = this.workflowDeliveriesBySocket.get(ws);
|
|
15823
|
+
if (!discoveries?.size) return 0;
|
|
15824
|
+
let acknowledged = 0;
|
|
15825
|
+
for (const discovery of discoveries.values()) {
|
|
15826
|
+
if (!["delivery_pending", "claimed"].includes(discovery.status)) continue;
|
|
15827
|
+
if (discovery.status === "claimed" && Number(discovery.claim_expires_at ?? 0) * 1e3 > Date.now()) continue;
|
|
15828
|
+
const claimRequestId = `workflow-claim-${randomUUID8()}`;
|
|
15829
|
+
const claimed = ws.waitForMessage("workflow_chat_delivery_claimed", (value) => {
|
|
15830
|
+
const payload = value;
|
|
15831
|
+
return payload.delivery_id === discovery.delivery_id && payload.request_id === claimRequestId;
|
|
15832
|
+
}, 2e4);
|
|
15833
|
+
void claimed.catch(() => {
|
|
15834
|
+
});
|
|
15835
|
+
await ws.sendAsync("workflow_chat_delivery_claim", { delivery_id: discovery.delivery_id, request_id: claimRequestId });
|
|
15836
|
+
let claim;
|
|
15837
|
+
try {
|
|
15838
|
+
claim = (await claimed).payload;
|
|
15839
|
+
} catch (error) {
|
|
15840
|
+
if (error instanceof Error && /already.*claim|claim.*another|not claimable|no longer pending/i.test(error.message)) continue;
|
|
15841
|
+
throw error;
|
|
15842
|
+
}
|
|
15843
|
+
if (!claim.claim_token || !claim.chat_id || !claim.message_id || claim.claim_generation < 1 || claim.claim_expires_at * 1e3 <= Date.now()) {
|
|
15844
|
+
throw new Error("Workflow delivery returned an invalid or expired claim.");
|
|
15845
|
+
}
|
|
15846
|
+
const fence = {
|
|
15847
|
+
delivery_id: claim.delivery_id,
|
|
15848
|
+
claim_token: claim.claim_token,
|
|
15849
|
+
claim_generation: claim.claim_generation,
|
|
15850
|
+
claim_issued_at: claim.claim_issued_at,
|
|
15851
|
+
claim_expires_at: claim.claim_expires_at
|
|
15852
|
+
};
|
|
15853
|
+
if (!claim.client_persisted) {
|
|
15854
|
+
if (!("existing_chat" in claim)) throw new Error("Workflow delivery needs authoritative destination key metadata; update the dev server.");
|
|
15855
|
+
const existing = claim.existing_chat;
|
|
15856
|
+
const masterKey = this.getMasterKeyBytes();
|
|
15857
|
+
let chatKey;
|
|
15858
|
+
let encryptedChatKey;
|
|
15859
|
+
if (existing) {
|
|
15860
|
+
if (typeof existing.encrypted_chat_key !== "string" || !existing.encrypted_chat_key) throw new Error("Workflow destination chat key is unavailable.");
|
|
15861
|
+
encryptedChatKey = existing.encrypted_chat_key;
|
|
15862
|
+
const decryptedKey = await decryptBytesWithAesGcm(encryptedChatKey, masterKey);
|
|
15863
|
+
if (!decryptedKey) throw new Error("Workflow destination chat key could not be decrypted.");
|
|
15864
|
+
chatKey = decryptedKey;
|
|
15865
|
+
} else {
|
|
15866
|
+
chatKey = new Uint8Array(randomBytes4(32));
|
|
15867
|
+
encryptedChatKey = await encryptBytesWithAesGcm(chatKey, masterKey);
|
|
15868
|
+
}
|
|
15869
|
+
const encryptedTitle = typeof existing?.encrypted_title === "string" && existing.encrypted_title ? existing.encrypted_title : await encryptWithAesGcmCombined(claim.title, chatKey);
|
|
15870
|
+
const encryptedCategory = typeof existing?.encrypted_category === "string" && existing.encrypted_category ? existing.encrypted_category : await encryptWithAesGcmCombined("openmates_official", chatKey);
|
|
15871
|
+
const encryptedContent = await encryptWithAesGcmCombined(claim.message, chatKey);
|
|
15872
|
+
const createdAt = normalizeUnixSeconds(claim.created_at, Math.floor(Date.now() / 1e3));
|
|
15873
|
+
const encryptedEmbeds = [];
|
|
15874
|
+
for (const item of claim.embeds ?? []) {
|
|
15875
|
+
const encrypted = await encryptEmbed({
|
|
15876
|
+
embedId: item.embed_id,
|
|
15877
|
+
type: item.content_type,
|
|
15878
|
+
content: toonEncodeContent({ ...item.content, type: item.content_type }),
|
|
15879
|
+
textPreview: String(item.content.title ?? item.content.name ?? "Workflow result"),
|
|
15880
|
+
status: "finished"
|
|
15881
|
+
}, masterKey, chatKey, claim.chat_id, claim.message_id, ownerId);
|
|
15882
|
+
if (!encrypted) throw new Error("Workflow result could not be encrypted.");
|
|
15883
|
+
encryptedEmbeds.push({
|
|
15884
|
+
embed_id: encrypted.embed_id,
|
|
15885
|
+
encrypted_content: encrypted.encrypted_content,
|
|
15886
|
+
encrypted_type: encrypted.encrypted_type,
|
|
15887
|
+
encrypted_text_preview: encrypted.encrypted_text_preview,
|
|
15888
|
+
embed_keys: encrypted.embed_keys.map((key) => ({ key_type: key.key_type, encrypted_embed_key: key.encrypted_embed_key }))
|
|
15889
|
+
});
|
|
15890
|
+
}
|
|
15891
|
+
const metadata = {
|
|
15892
|
+
encrypted_title: encryptedTitle,
|
|
15893
|
+
encrypted_category: encryptedCategory,
|
|
15894
|
+
encrypted_chat_key: encryptedChatKey,
|
|
15895
|
+
created_at: existing?.created_at ?? createdAt,
|
|
15896
|
+
messages_v: Number(existing?.messages_v ?? 0) + 1,
|
|
15897
|
+
title_v: Number(existing?.title_v ?? 1)
|
|
15898
|
+
};
|
|
15899
|
+
const encryptedMessage = { role: "assistant", encrypted_content: encryptedContent, created_at: createdAt, embeds: encryptedEmbeds };
|
|
15900
|
+
const persistRequestId = `workflow-persist-${randomUUID8()}`;
|
|
15901
|
+
const persisted = ws.waitForMessage("workflow_chat_delivery_persisted", (value) => {
|
|
15902
|
+
const payload = value;
|
|
15903
|
+
return payload.delivery_id === claim.delivery_id && payload.request_id === persistRequestId;
|
|
15904
|
+
}, 2e4);
|
|
15905
|
+
void persisted.catch(() => {
|
|
15906
|
+
});
|
|
15907
|
+
await ws.sendAsync("workflow_chat_delivery_persist", { ...fence, encrypted_chat_metadata: JSON.stringify(metadata), encrypted_message: JSON.stringify(encryptedMessage), request_id: persistRequestId });
|
|
15908
|
+
await persisted;
|
|
15909
|
+
const cached = chats.find((chat) => chat.details.id === claim.chat_id);
|
|
15910
|
+
const message = JSON.stringify({ ...encryptedMessage, message_id: claim.message_id, chat_id: claim.chat_id, status: "synced" });
|
|
15911
|
+
if (cached) {
|
|
15912
|
+
cached.details = { ...cached.details, ...metadata };
|
|
15913
|
+
cached.messages.push(message);
|
|
15914
|
+
} else chats.push({ details: { id: claim.chat_id, ...metadata, last_edited_overall_timestamp: createdAt }, messages: [message] });
|
|
15915
|
+
if (process.env.OPENMATES_DEBUG === "1") console.error(`[workflow delivery] CLI persisted ${claim.delivery_id}`);
|
|
15916
|
+
}
|
|
15917
|
+
const ackRequestId = `workflow-ack-${randomUUID8()}`;
|
|
15918
|
+
const ack = ws.waitForMessage("workflow_chat_delivery_acknowledged", (value) => {
|
|
15919
|
+
const payload = value;
|
|
15920
|
+
return payload.delivery_id === claim.delivery_id && payload.request_id === ackRequestId;
|
|
15921
|
+
}, 2e4);
|
|
15922
|
+
void ack.catch(() => {
|
|
15923
|
+
});
|
|
15924
|
+
await ws.sendAsync("workflow_chat_delivery_ack", { ...fence, request_id: ackRequestId });
|
|
15925
|
+
await ack;
|
|
15926
|
+
acknowledged += 1;
|
|
15927
|
+
}
|
|
15928
|
+
return acknowledged;
|
|
15929
|
+
}
|
|
15783
15930
|
async persistPendingAIResponsesFromSync(ws, chats, pendingResponses, teamId) {
|
|
15784
15931
|
if (pendingResponses.length === 0) return;
|
|
15785
15932
|
const masterKey = this.getMasterKeyBytes();
|
|
@@ -24894,11 +25041,26 @@ var OpenMatesWorkflows = class {
|
|
|
24894
25041
|
if (!response.run) throw new OpenMatesApiError(500, { detail: "Workflow response missing run" });
|
|
24895
25042
|
return response.run;
|
|
24896
25043
|
}
|
|
25044
|
+
async deleteRun(workflowId, runId) {
|
|
25045
|
+
const resolvedWorkflowId = await this.resolveId(workflowId);
|
|
25046
|
+
const result = await this.client.delete(`/v1/workflows/${encodeURIComponent(resolvedWorkflowId)}/runs/${encodeURIComponent(runId)}`);
|
|
25047
|
+
if (!["deleted", "deletion_pending"].includes(result.status)) throw new OpenMatesApiError(500, { detail: "Invalid run deletion response" });
|
|
25048
|
+
return result;
|
|
25049
|
+
}
|
|
25050
|
+
async previewStep(workflowId, stepId, params = {}) {
|
|
25051
|
+
const resolvedWorkflowId = await this.resolveId(workflowId);
|
|
25052
|
+
const response = await this.client.request(
|
|
25053
|
+
`/v1/workflows/${encodeURIComponent(resolvedWorkflowId)}/steps/${encodeURIComponent(stepId)}/preview`,
|
|
25054
|
+
{ input: params.input ?? {}, ...params.node ? { node: params.node } : {}, upstream_outputs: params.upstreamOutputs ?? {} }
|
|
25055
|
+
);
|
|
25056
|
+
if (!response.preview) throw new OpenMatesApiError(500, { detail: "Workflow response missing preview" });
|
|
25057
|
+
return response.preview;
|
|
25058
|
+
}
|
|
24897
25059
|
async stepTest(workflowId, stepId, params = {}) {
|
|
24898
25060
|
const resolvedWorkflowId = await this.resolveId(workflowId);
|
|
24899
25061
|
const response = await this.client.request(
|
|
24900
25062
|
`/v1/workflows/${encodeURIComponent(resolvedWorkflowId)}/steps/${encodeURIComponent(stepId)}/test`,
|
|
24901
|
-
{ input: params.input ?? {}, confirmed: params.confirmed === true }
|
|
25063
|
+
{ input: params.input ?? {}, confirmed: params.confirmed === true, ...params.node ? { node: params.node } : {}, ...params.upstreamOutputs ? { upstream_outputs: params.upstreamOutputs } : {} }
|
|
24902
25064
|
);
|
|
24903
25065
|
if (!response.run) throw new OpenMatesApiError(500, { detail: "Workflow response missing run" });
|
|
24904
25066
|
return response.run;
|
|
@@ -70181,6 +70343,39 @@ As of mid-2026, the severe supply shocks from the 2024\u20132025 avian flu have
|
|
|
70181
70343
|
},
|
|
70182
70344
|
free_testing_credits_received: {
|
|
70183
70345
|
text: "You received {credits} free credits for testing."
|
|
70346
|
+
},
|
|
70347
|
+
native_setup_unavailable: {
|
|
70348
|
+
text: "Account creation in the Apple app is not available yet. Please sign up in the web app."
|
|
70349
|
+
},
|
|
70350
|
+
native_request_failed: {
|
|
70351
|
+
text: "The request could not be completed. Please try again."
|
|
70352
|
+
},
|
|
70353
|
+
native_passkey_registration_pending: {
|
|
70354
|
+
text: "Passkey account creation is not available in this Apple build yet. You can create this account with a password."
|
|
70355
|
+
},
|
|
70356
|
+
native_account_ready: {
|
|
70357
|
+
text: "Your account is ready."
|
|
70358
|
+
},
|
|
70359
|
+
native_retry_login: {
|
|
70360
|
+
text: "Retry signing in"
|
|
70361
|
+
},
|
|
70362
|
+
native_invalid_invite: {
|
|
70363
|
+
text: "Enter a valid personal invite code to continue."
|
|
70364
|
+
},
|
|
70365
|
+
native_username_unavailable: {
|
|
70366
|
+
text: "This username is unavailable. Choose another one."
|
|
70367
|
+
},
|
|
70368
|
+
native_invalid_email_code: {
|
|
70369
|
+
text: "This email code is invalid or expired. Try again or request a new code."
|
|
70370
|
+
},
|
|
70371
|
+
native_verification_required: {
|
|
70372
|
+
text: "Please confirm your email before creating the account."
|
|
70373
|
+
},
|
|
70374
|
+
native_creation_unconfirmed: {
|
|
70375
|
+
text: "Account creation could not be confirmed. Retry signing in with the same credentials. If this continues, return to login or contact support."
|
|
70376
|
+
},
|
|
70377
|
+
native_context_changed: {
|
|
70378
|
+
text: "The login session changed. Return to login and start again."
|
|
70184
70379
|
}
|
|
70185
70380
|
},
|
|
70186
70381
|
sketchview: {
|
|
@@ -70417,6 +70612,359 @@ As of mid-2026, the severe supply shocks from the 2024\u20132025 avian flu have
|
|
|
70417
70612
|
restore_failed: {
|
|
70418
70613
|
text: "Failed to restore the selected definition."
|
|
70419
70614
|
}
|
|
70615
|
+
},
|
|
70616
|
+
builder: {
|
|
70617
|
+
new_workflow_placeholder: {
|
|
70618
|
+
text: "Enter a name for a new workflow"
|
|
70619
|
+
},
|
|
70620
|
+
list: {
|
|
70621
|
+
text: "list"
|
|
70622
|
+
},
|
|
70623
|
+
remove: {
|
|
70624
|
+
text: "Remove"
|
|
70625
|
+
},
|
|
70626
|
+
add_item: {
|
|
70627
|
+
text: "Add item"
|
|
70628
|
+
},
|
|
70629
|
+
choose: {
|
|
70630
|
+
text: "Choose"
|
|
70631
|
+
},
|
|
70632
|
+
true: {
|
|
70633
|
+
text: "true"
|
|
70634
|
+
},
|
|
70635
|
+
false: {
|
|
70636
|
+
text: "false"
|
|
70637
|
+
},
|
|
70638
|
+
today: {
|
|
70639
|
+
text: "Today"
|
|
70640
|
+
},
|
|
70641
|
+
next_week_start: {
|
|
70642
|
+
text: "Start of upcoming week"
|
|
70643
|
+
},
|
|
70644
|
+
next_week_end: {
|
|
70645
|
+
text: "End of upcoming week"
|
|
70646
|
+
},
|
|
70647
|
+
custom_date: {
|
|
70648
|
+
text: "Custom date"
|
|
70649
|
+
},
|
|
70650
|
+
dynamic_date: {
|
|
70651
|
+
text: "Use a date relative to each run"
|
|
70652
|
+
},
|
|
70653
|
+
use_output: {
|
|
70654
|
+
text: "Use previous output"
|
|
70655
|
+
},
|
|
70656
|
+
details: {
|
|
70657
|
+
text: "Details"
|
|
70658
|
+
},
|
|
70659
|
+
time_trigger: {
|
|
70660
|
+
text: "Time trigger"
|
|
70661
|
+
},
|
|
70662
|
+
check: {
|
|
70663
|
+
text: "Check"
|
|
70664
|
+
},
|
|
70665
|
+
send_message: {
|
|
70666
|
+
text: "Send message"
|
|
70667
|
+
},
|
|
70668
|
+
use_app_skill: {
|
|
70669
|
+
text: "Use App skill"
|
|
70670
|
+
},
|
|
70671
|
+
action: {
|
|
70672
|
+
text: "Action"
|
|
70673
|
+
},
|
|
70674
|
+
hourly: {
|
|
70675
|
+
text: "Every hour"
|
|
70676
|
+
},
|
|
70677
|
+
daily: {
|
|
70678
|
+
text: "Every day"
|
|
70679
|
+
},
|
|
70680
|
+
weekly: {
|
|
70681
|
+
text: "Every week"
|
|
70682
|
+
},
|
|
70683
|
+
once: {
|
|
70684
|
+
text: "Once"
|
|
70685
|
+
},
|
|
70686
|
+
to: {
|
|
70687
|
+
text: "To"
|
|
70688
|
+
},
|
|
70689
|
+
existing_chat: {
|
|
70690
|
+
text: "Existing chat"
|
|
70691
|
+
},
|
|
70692
|
+
new_chat_each_run: {
|
|
70693
|
+
text: "New chat for each run"
|
|
70694
|
+
},
|
|
70695
|
+
unavailable: {
|
|
70696
|
+
text: "Not available"
|
|
70697
|
+
},
|
|
70698
|
+
title_required: {
|
|
70699
|
+
text: "Enter a title for the chat."
|
|
70700
|
+
},
|
|
70701
|
+
check_required: {
|
|
70702
|
+
text: "Choose an output and comparison first."
|
|
70703
|
+
},
|
|
70704
|
+
save_failed: {
|
|
70705
|
+
text: "Could not save this node."
|
|
70706
|
+
},
|
|
70707
|
+
test_pending: {
|
|
70708
|
+
text: "The test is still running. Its progress is available in run history."
|
|
70709
|
+
},
|
|
70710
|
+
chats_unavailable: {
|
|
70711
|
+
text: "Recent chats could not be loaded."
|
|
70712
|
+
},
|
|
70713
|
+
empty_preview: {
|
|
70714
|
+
text: "This message currently has no content."
|
|
70715
|
+
},
|
|
70716
|
+
add_trigger: {
|
|
70717
|
+
text: "Add trigger"
|
|
70718
|
+
},
|
|
70719
|
+
add_action: {
|
|
70720
|
+
text: "Add action"
|
|
70721
|
+
},
|
|
70722
|
+
add_check: {
|
|
70723
|
+
text: "Add check"
|
|
70724
|
+
},
|
|
70725
|
+
back: {
|
|
70726
|
+
text: "Back"
|
|
70727
|
+
},
|
|
70728
|
+
use_app: {
|
|
70729
|
+
text: "Use App"
|
|
70730
|
+
},
|
|
70731
|
+
choose_skill: {
|
|
70732
|
+
text: "Choose skill"
|
|
70733
|
+
},
|
|
70734
|
+
close: {
|
|
70735
|
+
text: "Close"
|
|
70736
|
+
},
|
|
70737
|
+
trigger_question: {
|
|
70738
|
+
text: "What trigger should run your workflow?"
|
|
70739
|
+
},
|
|
70740
|
+
app_question: {
|
|
70741
|
+
text: "Which App?"
|
|
70742
|
+
},
|
|
70743
|
+
skill_question: {
|
|
70744
|
+
text: "Which skill?"
|
|
70745
|
+
},
|
|
70746
|
+
action_question: {
|
|
70747
|
+
text: "What should happen next?"
|
|
70748
|
+
},
|
|
70749
|
+
date_time: {
|
|
70750
|
+
text: "Date & Time"
|
|
70751
|
+
},
|
|
70752
|
+
loading_apps: {
|
|
70753
|
+
text: "Loading available apps\u2026"
|
|
70754
|
+
},
|
|
70755
|
+
repeat: {
|
|
70756
|
+
text: "Repeat"
|
|
70757
|
+
},
|
|
70758
|
+
minute: {
|
|
70759
|
+
text: "Minute of each hour"
|
|
70760
|
+
},
|
|
70761
|
+
time: {
|
|
70762
|
+
text: "Time"
|
|
70763
|
+
},
|
|
70764
|
+
timezone: {
|
|
70765
|
+
text: "Timezone"
|
|
70766
|
+
},
|
|
70767
|
+
input: {
|
|
70768
|
+
text: "Input"
|
|
70769
|
+
},
|
|
70770
|
+
schema_unavailable: {
|
|
70771
|
+
text: "The input schema is not available for this skill."
|
|
70772
|
+
},
|
|
70773
|
+
processing: {
|
|
70774
|
+
text: "Processing\u2026"
|
|
70775
|
+
},
|
|
70776
|
+
stop: {
|
|
70777
|
+
text: "Stop"
|
|
70778
|
+
},
|
|
70779
|
+
test_again: {
|
|
70780
|
+
text: "Test again"
|
|
70781
|
+
},
|
|
70782
|
+
test_action: {
|
|
70783
|
+
text: "Test action"
|
|
70784
|
+
},
|
|
70785
|
+
variable_cost: {
|
|
70786
|
+
text: "Variable cost"
|
|
70787
|
+
},
|
|
70788
|
+
output: {
|
|
70789
|
+
text: "Output"
|
|
70790
|
+
},
|
|
70791
|
+
test_output: {
|
|
70792
|
+
text: "Test output"
|
|
70793
|
+
},
|
|
70794
|
+
example: {
|
|
70795
|
+
text: "Example"
|
|
70796
|
+
},
|
|
70797
|
+
check_question: {
|
|
70798
|
+
text: "What should we check?"
|
|
70799
|
+
},
|
|
70800
|
+
if: {
|
|
70801
|
+
text: "If"
|
|
70802
|
+
},
|
|
70803
|
+
select_output: {
|
|
70804
|
+
text: "Select action output"
|
|
70805
|
+
},
|
|
70806
|
+
compare_type: {
|
|
70807
|
+
text: "Select comparison"
|
|
70808
|
+
},
|
|
70809
|
+
compare_value: {
|
|
70810
|
+
text: "Compare to"
|
|
70811
|
+
},
|
|
70812
|
+
chat_question: {
|
|
70813
|
+
text: "To which chat?"
|
|
70814
|
+
},
|
|
70815
|
+
search_chats: {
|
|
70816
|
+
text: "Search recent chats"
|
|
70817
|
+
},
|
|
70818
|
+
new_chat: {
|
|
70819
|
+
text: "New chat"
|
|
70820
|
+
},
|
|
70821
|
+
message_question: {
|
|
70822
|
+
text: "What should the message be?"
|
|
70823
|
+
},
|
|
70824
|
+
chat_title: {
|
|
70825
|
+
text: "Chat title"
|
|
70826
|
+
},
|
|
70827
|
+
message_placeholder: {
|
|
70828
|
+
text: "Enter the message template here. Type @ or select an output above to include results from previous actions."
|
|
70829
|
+
},
|
|
70830
|
+
only_new_results: {
|
|
70831
|
+
text: "Only results not previously sent"
|
|
70832
|
+
},
|
|
70833
|
+
include_when: {
|
|
70834
|
+
text: "Include this section when"
|
|
70835
|
+
},
|
|
70836
|
+
always: {
|
|
70837
|
+
text: "Always"
|
|
70838
|
+
},
|
|
70839
|
+
preview_message: {
|
|
70840
|
+
text: "Preview message without sending"
|
|
70841
|
+
},
|
|
70842
|
+
saving: {
|
|
70843
|
+
text: "Saving\u2026"
|
|
70844
|
+
},
|
|
70845
|
+
save: {
|
|
70846
|
+
text: "Save"
|
|
70847
|
+
},
|
|
70848
|
+
if_true: {
|
|
70849
|
+
text: "If true"
|
|
70850
|
+
},
|
|
70851
|
+
else: {
|
|
70852
|
+
text: "Else"
|
|
70853
|
+
},
|
|
70854
|
+
do_nothing: {
|
|
70855
|
+
text: "Do nothing. Add a step below."
|
|
70856
|
+
},
|
|
70857
|
+
then: {
|
|
70858
|
+
text: "then"
|
|
70859
|
+
},
|
|
70860
|
+
contains: {
|
|
70861
|
+
text: "contains"
|
|
70862
|
+
},
|
|
70863
|
+
operator_gt: {
|
|
70864
|
+
text: "is more than"
|
|
70865
|
+
},
|
|
70866
|
+
operator_gte: {
|
|
70867
|
+
text: "is at least"
|
|
70868
|
+
},
|
|
70869
|
+
operator_lt: {
|
|
70870
|
+
text: "is less than"
|
|
70871
|
+
},
|
|
70872
|
+
operator_lte: {
|
|
70873
|
+
text: "is at most"
|
|
70874
|
+
},
|
|
70875
|
+
operator_eq: {
|
|
70876
|
+
text: "is equal to"
|
|
70877
|
+
},
|
|
70878
|
+
operator_ne: {
|
|
70879
|
+
text: "is not equal to"
|
|
70880
|
+
},
|
|
70881
|
+
operator_contains: {
|
|
70882
|
+
text: "contains"
|
|
70883
|
+
},
|
|
70884
|
+
next_run: {
|
|
70885
|
+
text: "Next run"
|
|
70886
|
+
},
|
|
70887
|
+
created: {
|
|
70888
|
+
text: "Created"
|
|
70889
|
+
},
|
|
70890
|
+
share: {
|
|
70891
|
+
text: "Share workflow"
|
|
70892
|
+
},
|
|
70893
|
+
workflow: {
|
|
70894
|
+
text: "Workflow"
|
|
70895
|
+
},
|
|
70896
|
+
run_history: {
|
|
70897
|
+
text: "Run history"
|
|
70898
|
+
},
|
|
70899
|
+
run_now: {
|
|
70900
|
+
text: "Run workflow now"
|
|
70901
|
+
},
|
|
70902
|
+
delete_workflow: {
|
|
70903
|
+
text: "Delete workflow"
|
|
70904
|
+
},
|
|
70905
|
+
workflow_name: {
|
|
70906
|
+
text: "Workflow name"
|
|
70907
|
+
},
|
|
70908
|
+
description: {
|
|
70909
|
+
text: "Description"
|
|
70910
|
+
},
|
|
70911
|
+
add_description: {
|
|
70912
|
+
text: "Click to add description"
|
|
70913
|
+
},
|
|
70914
|
+
workflow_on: {
|
|
70915
|
+
text: "Workflow enabled"
|
|
70916
|
+
},
|
|
70917
|
+
enabled: {
|
|
70918
|
+
text: "Enabled"
|
|
70919
|
+
},
|
|
70920
|
+
ready: {
|
|
70921
|
+
text: "Ready"
|
|
70922
|
+
},
|
|
70923
|
+
draft: {
|
|
70924
|
+
text: "Draft"
|
|
70925
|
+
},
|
|
70926
|
+
run_started: {
|
|
70927
|
+
text: "Run started"
|
|
70928
|
+
},
|
|
70929
|
+
ready_to_use: {
|
|
70930
|
+
text: "Your workflow can be used now."
|
|
70931
|
+
},
|
|
70932
|
+
activate: {
|
|
70933
|
+
text: "Activate"
|
|
70934
|
+
},
|
|
70935
|
+
history_and_sharing: {
|
|
70936
|
+
text: "Version history and sharing"
|
|
70937
|
+
},
|
|
70938
|
+
delete_run: {
|
|
70939
|
+
text: "Delete run and forget its deliveries"
|
|
70940
|
+
},
|
|
70941
|
+
delete_run_confirm: {
|
|
70942
|
+
text: "Delete this run and forget the results it delivered? Existing chat messages will remain."
|
|
70943
|
+
},
|
|
70944
|
+
deletion_pending: {
|
|
70945
|
+
text: "Deleting after pending deliveries finish\u2026"
|
|
70946
|
+
},
|
|
70947
|
+
monday: {
|
|
70948
|
+
text: "Monday"
|
|
70949
|
+
},
|
|
70950
|
+
tuesday: {
|
|
70951
|
+
text: "Tuesday"
|
|
70952
|
+
},
|
|
70953
|
+
wednesday: {
|
|
70954
|
+
text: "Wednesday"
|
|
70955
|
+
},
|
|
70956
|
+
thursday: {
|
|
70957
|
+
text: "Thursday"
|
|
70958
|
+
},
|
|
70959
|
+
friday: {
|
|
70960
|
+
text: "Friday"
|
|
70961
|
+
},
|
|
70962
|
+
saturday: {
|
|
70963
|
+
text: "Saturday"
|
|
70964
|
+
},
|
|
70965
|
+
sunday: {
|
|
70966
|
+
text: "Sunday"
|
|
70967
|
+
}
|
|
70420
70968
|
}
|
|
70421
70969
|
}
|
|
70422
70970
|
};
|
|
@@ -80733,7 +81281,18 @@ async function handleWorkflows(client, subcommand, rest, flags, redactor) {
|
|
|
80733
81281
|
if (!idempotencyKey) throw new Error("Missing --idempotency-key. Reuse this stable key when retrying the same workflow run.");
|
|
80734
81282
|
const mode = flags.mode === "test" ? "test" : "manual";
|
|
80735
81283
|
const input = typeof flags.input === "string" ? parseJsonFlag(flags.input, "--input") : {};
|
|
80736
|
-
|
|
81284
|
+
let run = await client.runWorkflow(workflowId, { idempotencyKey, mode, input });
|
|
81285
|
+
if (flags.wait === true) {
|
|
81286
|
+
const deadline = Date.now() + 18e4;
|
|
81287
|
+
while (["queued", "planned", "running"].includes(run.status) && Date.now() < deadline) {
|
|
81288
|
+
await new Promise((resolve13) => setTimeout(resolve13, 2e3));
|
|
81289
|
+
run = await client.getWorkflowRun(workflowId, run.id);
|
|
81290
|
+
}
|
|
81291
|
+
if (["queued", "planned", "running"].includes(run.status)) throw new Error(`Workflow run ${run.id} is still running. Inspect it with workflows run-show.`);
|
|
81292
|
+
if (run.status === "failed") throw new Error(`Workflow run ${run.id} failed: ${run.error_summary ?? "inspect run-show for details"}`);
|
|
81293
|
+
await client.ensureSynced(true);
|
|
81294
|
+
run = await client.getWorkflowRun(workflowId, run.id);
|
|
81295
|
+
}
|
|
80737
81296
|
if (flags.json === true) {
|
|
80738
81297
|
printJson2(run);
|
|
80739
81298
|
} else {
|
|
@@ -80764,6 +81323,16 @@ async function handleWorkflows(client, subcommand, rest, flags, redactor) {
|
|
|
80764
81323
|
}
|
|
80765
81324
|
return;
|
|
80766
81325
|
}
|
|
81326
|
+
if (subcommand === "run-delete") {
|
|
81327
|
+
const workflowId = rest[0] ? await requiredResolvedWorkflowId(client, rest[0], flags, "run-delete") : void 0;
|
|
81328
|
+
const runId = rest[1];
|
|
81329
|
+
if (!workflowId || !runId) throw new Error("Usage: openmates workflows run-delete <workflow-id> <run-id> --yes");
|
|
81330
|
+
if (flags.yes !== true) throw new Error("Run deletion forgets its delivered-result history. Existing chat messages remain. Pass --yes to confirm.");
|
|
81331
|
+
const result = await client.deleteWorkflowRun(workflowId, runId);
|
|
81332
|
+
if (flags.json === true) printJson2(result);
|
|
81333
|
+
else kv("Status", result.status);
|
|
81334
|
+
return;
|
|
81335
|
+
}
|
|
80767
81336
|
if (subcommand === "run-cancel") {
|
|
80768
81337
|
const workflowId = rest[0] ? await requiredResolvedWorkflowId(client, rest[0], flags, "run-cancel") : void 0;
|
|
80769
81338
|
const runId = rest[1];
|
|
@@ -80776,12 +81345,20 @@ async function handleWorkflows(client, subcommand, rest, flags, redactor) {
|
|
|
80776
81345
|
}
|
|
80777
81346
|
return;
|
|
80778
81347
|
}
|
|
80779
|
-
if (subcommand === "step-test") {
|
|
81348
|
+
if (subcommand === "step-test" || subcommand === "step-preview") {
|
|
80780
81349
|
const workflowId = rest[0] ? await requiredResolvedWorkflowId(client, rest[0], flags, "step-test") : void 0;
|
|
80781
81350
|
const stepId = rest[1];
|
|
80782
81351
|
if (!workflowId || !stepId) throw new Error("Missing workflow/step ID. Example: openmates workflows step-test <workflow-id> <step-id> --yes");
|
|
80783
81352
|
const input = typeof flags.input === "string" ? parseJsonFlag(flags.input, "--input") : {};
|
|
80784
|
-
const
|
|
81353
|
+
const node = typeof flags.node === "string" ? parseJsonFlag(flags.node, "--node") : void 0;
|
|
81354
|
+
const upstreamOutputs = typeof flags.upstream === "string" ? parseJsonFlag(flags.upstream, "--upstream") : void 0;
|
|
81355
|
+
if (subcommand === "step-preview") {
|
|
81356
|
+
const preview = await client.previewWorkflowStep(workflowId, stepId, { input, node, upstreamOutputs });
|
|
81357
|
+
if (flags.json === true) printJson2(preview);
|
|
81358
|
+
else console.log(String(preview.text ?? preview.message ?? preview.body ?? ""));
|
|
81359
|
+
return;
|
|
81360
|
+
}
|
|
81361
|
+
const run = await client.testWorkflowStep(workflowId, stepId, { input, node, upstreamOutputs, confirmed: flags.yes === true });
|
|
80785
81362
|
if (flags.json === true) {
|
|
80786
81363
|
printJson2(run);
|
|
80787
81364
|
} else {
|
|
@@ -87040,11 +87617,13 @@ function printWorkflowsHelp() {
|
|
|
87040
87617
|
openmates workflows show <workflow-id> [--json]
|
|
87041
87618
|
openmates workflows enable <workflow-id> [--json]
|
|
87042
87619
|
openmates workflows disable <workflow-id> [--json]
|
|
87043
|
-
openmates workflows run <workflow-id> --idempotency-key <stable-key> [--mode manual|test] [--input '<json>'] [--json]
|
|
87620
|
+
openmates workflows run <workflow-id> --idempotency-key <stable-key> [--mode manual|test] [--input '<json>'] [--wait] [--json]
|
|
87044
87621
|
openmates workflows runs <workflow-id> [--json]
|
|
87045
87622
|
openmates workflows run-show <workflow-id> <run-id> [--json]
|
|
87046
87623
|
openmates workflows run-cancel <workflow-id> <run-id> [--json]
|
|
87047
|
-
openmates workflows step-test <workflow-id> <step-id> [--input '<json>'] [--
|
|
87624
|
+
openmates workflows step-test <workflow-id> <step-id> [--node '<json>'] [--input '<json>'] [--upstream '<json>'] [--json]
|
|
87625
|
+
openmates workflows step-preview <workflow-id> <step-id> [--node '<json>'] [--upstream '<json>'] [--json]
|
|
87626
|
+
openmates workflows run-delete <workflow-id> <run-id> --yes [--json]
|
|
87048
87627
|
openmates workflows respond <workflow-id> <run-id> <step-id> --input '<json>' [--json]
|
|
87049
87628
|
openmates workflows help-app <app.skill> [--json]
|
|
87050
87629
|
openmates workflows delete <workflow-id> --yes [--json]
|
|
@@ -803,7 +803,7 @@ interface LearningModeContext {
|
|
|
803
803
|
ageGroup?: LearningModeAgeGroup | null;
|
|
804
804
|
source?: "anonymous_session";
|
|
805
805
|
}
|
|
806
|
-
type WorkflowNodeType = "schedule_trigger" | "manual_trigger" | "webhook_trigger" | "app_skill_action" | "decision" | "repeat" | "create_chat_report" | "send_notification" | "send_email_notification" | "ask_user" | "custom_code" | "end";
|
|
806
|
+
type WorkflowNodeType = "schedule_trigger" | "manual_trigger" | "webhook_trigger" | "app_skill_action" | "decision" | "check" | "send_chat_message" | "start_new_chat" | "event_trigger" | "wait" | "repeat" | "create_chat_report" | "send_notification" | "send_email_notification" | "ask_user" | "custom_code" | "end";
|
|
807
807
|
interface WorkflowNode {
|
|
808
808
|
id: string;
|
|
809
809
|
type: WorkflowNodeType;
|
|
@@ -1846,6 +1846,7 @@ interface AnonymousFreeUsageStatus {
|
|
|
1846
1846
|
*/
|
|
1847
1847
|
declare function deriveAppUrl(apiUrl: string): string;
|
|
1848
1848
|
declare class OpenMatesClient {
|
|
1849
|
+
private readonly workflowDeliveriesBySocket;
|
|
1849
1850
|
readonly apiUrl: string;
|
|
1850
1851
|
private session;
|
|
1851
1852
|
private readonly http;
|
|
@@ -2457,9 +2458,20 @@ declare class OpenMatesClient {
|
|
|
2457
2458
|
listWorkflowRuns(workflowId: string): Promise<WorkflowRunDetail[]>;
|
|
2458
2459
|
getWorkflowRun(workflowId: string, runId: string): Promise<WorkflowRunDetail>;
|
|
2459
2460
|
cancelWorkflowRun(workflowId: string, runId: string): Promise<WorkflowRunCancellationResult>;
|
|
2461
|
+
deleteWorkflowRun(workflowId: string, runId: string): Promise<{
|
|
2462
|
+
run_id: string;
|
|
2463
|
+
status: "deleted" | "deletion_pending";
|
|
2464
|
+
}>;
|
|
2465
|
+
previewWorkflowStep(workflowId: string, stepId: string, params?: {
|
|
2466
|
+
input?: Record<string, unknown>;
|
|
2467
|
+
node?: WorkflowNode;
|
|
2468
|
+
upstreamOutputs?: Record<string, Record<string, unknown>>;
|
|
2469
|
+
}): Promise<Record<string, unknown>>;
|
|
2460
2470
|
testWorkflowStep(workflowId: string, stepId: string, params?: {
|
|
2461
2471
|
input?: Record<string, unknown>;
|
|
2462
2472
|
confirmed?: boolean;
|
|
2473
|
+
node?: WorkflowNode;
|
|
2474
|
+
upstreamOutputs?: Record<string, Record<string, unknown>>;
|
|
2463
2475
|
}): Promise<WorkflowRunDetail>;
|
|
2464
2476
|
respondToWorkflowRun(workflowId: string, runId: string, stepId: string, input: Record<string, unknown>): Promise<WorkflowRunDetail>;
|
|
2465
2477
|
listWorkflowCapabilities(): Promise<WorkflowCapability[]>;
|
|
@@ -2903,6 +2915,12 @@ declare class OpenMatesClient {
|
|
|
2903
2915
|
* SECURITY: decrypted user content is NEVER written to disk.
|
|
2904
2916
|
*/
|
|
2905
2917
|
ensureSynced(forceRefresh?: boolean, refreshChatIds?: string[], options?: TeamContextOptions, includeMessageContentRefresh?: boolean): Promise<SyncCache>;
|
|
2918
|
+
/**
|
|
2919
|
+
* Claim and finish reconnect workflow deliveries using only normal client
|
|
2920
|
+
* ciphertext. A fenced server transaction persists chat/message/selected
|
|
2921
|
+
* embeds before acknowledgement commits their cross-run delivery history.
|
|
2922
|
+
*/
|
|
2923
|
+
private persistPendingWorkflowChatDeliveries;
|
|
2906
2924
|
private persistPendingAIResponsesFromSync;
|
|
2907
2925
|
private prompt;
|
|
2908
2926
|
private waitForPairAuthorization;
|
|
@@ -3020,4 +3038,4 @@ declare function serializeToYaml(data: Record<string, unknown>, indent?: number)
|
|
|
3020
3038
|
/** Map language identifier to file extension for code embed downloads. */
|
|
3021
3039
|
declare function getExtForLang(language: string): string;
|
|
3022
3040
|
|
|
3023
|
-
export { type
|
|
3041
|
+
export { type CachedNewChatSuggestion as $, type WorkflowRunContentRetention as A, type WorkflowRunDetail as B, type WorkflowNode as C, type DecryptedUserTask as D, type ExternalChatContext as E, type WorkflowRunCancellationResult as F, type WorkflowTemplateProjectionUpsertParams as G, type WorkflowTemplateProjectionResult as H, type PublicWorkflowTemplateProjection as I, type WorkflowTemplateProjectionRevocationResult as J, type WorkflowTemplateBindingCompletionParams as K, type WorkflowTemplateBindingCompletionResult as L, type WorkflowTemplateShortUrlParams as M, type WorkflowTemplateShortUrlResult as N, type WorkflowTemplateImportPayload as O, type ProjectItemRecord as P, type ImportedWorkflowTemplate as Q, type AuthMethodsStatus as R, type ShortUrlRevokeResult as S, type TaskCreateOptions as T, type UserPlanStatus as U, type AuthoritativeChatReconciliation as V, type WorkflowSummary as W, type BackupCodesResult as X, type BankTransferOrderDetails as Y, type BankTransferStatus as Z, type CachedChat as _, type UserPlanRecord as a, type ChatListPage as a0, type CliSignupResult as a1, type DecryptedDraft as a2, type DecryptedEmbed as a3, type DecryptedMemoryEntry as a4, type DecryptedMessage as a5, type DecryptedNewChatSuggestion as a6, type DocsFile as a7, type DocsFolder as a8, type DocsSearchResult as a9, normalizeInterestTagIds as aA, reconcileAuthoritativeChats as aB, serializeToYaml as aC, assertTrustedAccountCommandAllowed as aD, assertTrustedAccountGuardEnvironment as aE, buildTravelConnectionsRequest as aF, printWhoAmI as aG, requireExactConfirmation as aH, resolveProjectContext as aI, shouldRequireTrustedAccountGuard as aJ, type DocsTree as aa, type EncryptedDraft as ab, type GiftCardBankTransferStatus as ac, INTEREST_TAG_IDS as ad, type ImagesAiDetectionClassification as ae, type ImagesAiDetectionSummary as af, type InterestTagId as ag, MATE_NAMES as ah, MEMORY_TYPE_REGISTRY as ai, type MemoryFieldDef as aj, type MemoryTypeDef as ak, OpenMatesClient as al, type OpenMatesClientOptions as am, type OpenMatesSession as an, type SyncCache as ao, type TopicPreferencesPayload as ap, type TotpSetupStartResult as aq, type WorkflowEdge as ar, type WorkflowNodeRun as as, type WorkflowNodeType as at, type WorkflowRunContentStorage as au, buildImagesAiDetectionSummary as av, classifyImagesAiDetection as aw, deriveAppUrl as ax, formatImagesAiDetectionLabel as ay, getExtForLang as az, type UserPlanVerificationStatus as b, type UserPlanLearningType as c, type UserPlanLearningTargetKind as d, type UserPlanLearningStatus as e, type UserPlanLearningLevel as f, type UserPlanLearningRecord as g, type UserPlanCriterionRecord as h, type UserPlanVerificationRecord as i, type UserPlanCreateInput as j, type UserPlanUpdateInput as k, type TaskUpdateOptions as l, type UserPlanLearningCreateTasksInput as m, type UserPlanLearningCreateTasksResult as n, type UserTaskStatus as o, type TaskPriorityLevel as p, type DecryptedTaskActivityEntry as q, type TaskActivityCreateOptions as r, type UserTaskReorderInput as s, type WorkflowCapability as t, type WorkflowDetail as u, type WorkflowInputStartParams as v, type WorkflowInputSessionResult as w, type WorkflowInputSessionDetail as x, type WorkflowInputEvent as y, type WorkflowGraph as z };
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export {
|
|
2
|
+
export { ae as ImagesAiDetectionClassification, af as ImagesAiDetectionSummary, aD as assertTrustedAccountCommandAllowed, aE as assertTrustedAccountGuardEnvironment, av as buildImagesAiDetectionSummary, aF as buildTravelConnectionsRequest, aw as classifyImagesAiDetection, ay as formatImagesAiDetectionLabel, az as getExtForLang, aG as printWhoAmI, aH as requireExactConfirmation, aI as resolveProjectContext, aC as serializeToYaml, aJ as shouldRequireTrustedAccountGuard } from './cli-DfLQ_qY9.js';
|
package/dist/cli.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { U as UserPlanStatus, a as UserPlanRecord, b as UserPlanVerificationStatus, c as UserPlanLearningType, d as UserPlanLearningTargetKind, e as UserPlanLearningStatus, f as UserPlanLearningLevel, g as UserPlanLearningRecord, h as UserPlanCriterionRecord, i as UserPlanVerificationRecord, j as UserPlanCreateInput, k as UserPlanUpdateInput, P as ProjectItemRecord, T as TaskCreateOptions, l as TaskUpdateOptions, m as UserPlanLearningCreateTasksInput, n as UserPlanLearningCreateTasksResult, o as UserTaskStatus, E as ExternalChatContext, p as TaskPriorityLevel, D as DecryptedUserTask, q as DecryptedTaskActivityEntry, r as TaskActivityCreateOptions, s as UserTaskReorderInput, W as WorkflowSummary, t as WorkflowCapability, u as WorkflowDetail, v as WorkflowInputStartParams, w as WorkflowInputSessionResult, x as WorkflowInputSessionDetail, y as WorkflowInputEvent, z as WorkflowGraph, A as WorkflowRunContentRetention, B as WorkflowRunDetail, C as
|
|
2
|
-
export {
|
|
1
|
+
import { U as UserPlanStatus, a as UserPlanRecord, b as UserPlanVerificationStatus, c as UserPlanLearningType, d as UserPlanLearningTargetKind, e as UserPlanLearningStatus, f as UserPlanLearningLevel, g as UserPlanLearningRecord, h as UserPlanCriterionRecord, i as UserPlanVerificationRecord, j as UserPlanCreateInput, k as UserPlanUpdateInput, P as ProjectItemRecord, T as TaskCreateOptions, l as TaskUpdateOptions, m as UserPlanLearningCreateTasksInput, n as UserPlanLearningCreateTasksResult, o as UserTaskStatus, E as ExternalChatContext, p as TaskPriorityLevel, D as DecryptedUserTask, q as DecryptedTaskActivityEntry, r as TaskActivityCreateOptions, s as UserTaskReorderInput, W as WorkflowSummary, t as WorkflowCapability, u as WorkflowDetail, v as WorkflowInputStartParams, w as WorkflowInputSessionResult, x as WorkflowInputSessionDetail, y as WorkflowInputEvent, z as WorkflowGraph, A as WorkflowRunContentRetention, B as WorkflowRunDetail, C as WorkflowNode, F as WorkflowRunCancellationResult, G as WorkflowTemplateProjectionUpsertParams, H as WorkflowTemplateProjectionResult, I as PublicWorkflowTemplateProjection, J as WorkflowTemplateProjectionRevocationResult, K as WorkflowTemplateBindingCompletionParams, L as WorkflowTemplateBindingCompletionResult, M as WorkflowTemplateShortUrlParams, N as WorkflowTemplateShortUrlResult, S as ShortUrlRevokeResult, O as WorkflowTemplateImportPayload, Q as ImportedWorkflowTemplate } from './cli-DfLQ_qY9.js';
|
|
2
|
+
export { R as AuthMethodsStatus, V as AuthoritativeChatReconciliation, X as BackupCodesResult, Y as BankTransferOrderDetails, Z as BankTransferStatus, _ as CachedChat, $ as CachedNewChatSuggestion, a0 as ChatListPage, a1 as CliSignupResult, a2 as DecryptedDraft, a3 as DecryptedEmbed, a4 as DecryptedMemoryEntry, a5 as DecryptedMessage, a6 as DecryptedNewChatSuggestion, a7 as DocsFile, a8 as DocsFolder, a9 as DocsSearchResult, aa as DocsTree, ab as EncryptedDraft, ac as GiftCardBankTransferStatus, ad as INTEREST_TAG_IDS, ae as ImagesAiDetectionClassification, af as ImagesAiDetectionSummary, ag as InterestTagId, ah as MATE_NAMES, ai as MEMORY_TYPE_REGISTRY, aj as MemoryFieldDef, ak as MemoryTypeDef, al as OpenMatesClient, am as OpenMatesClientOptions, an as OpenMatesSession, ao as SyncCache, ap as TopicPreferencesPayload, aq as TotpSetupStartResult, ar as WorkflowEdge, as as WorkflowNodeRun, at as WorkflowNodeType, au as WorkflowRunContentStorage, av as buildImagesAiDetectionSummary, aw as classifyImagesAiDetection, ax as deriveAppUrl, ay as formatImagesAiDetectionLabel, az as getExtForLang, aA as normalizeInterestTagIds, aB as reconcileAuthoritativeChats, aC as serializeToYaml } from './cli-DfLQ_qY9.js';
|
|
3
3
|
|
|
4
4
|
interface ProjectedAssistantSpeechSegment {
|
|
5
5
|
sequence: number;
|
|
@@ -5265,9 +5265,20 @@ declare class OpenMatesWorkflows {
|
|
|
5265
5265
|
}): Promise<WorkflowRunDetail>;
|
|
5266
5266
|
runs(workflowId: string): Promise<WorkflowRunDetail[]>;
|
|
5267
5267
|
runDetail(workflowId: string, runId: string): Promise<WorkflowRunDetail>;
|
|
5268
|
+
deleteRun(workflowId: string, runId: string): Promise<{
|
|
5269
|
+
run_id: string;
|
|
5270
|
+
status: "deleted" | "deletion_pending";
|
|
5271
|
+
}>;
|
|
5272
|
+
previewStep(workflowId: string, stepId: string, params?: {
|
|
5273
|
+
input?: Record<string, unknown>;
|
|
5274
|
+
node?: WorkflowNode;
|
|
5275
|
+
upstreamOutputs?: Record<string, Record<string, unknown>>;
|
|
5276
|
+
}): Promise<Record<string, unknown>>;
|
|
5268
5277
|
stepTest(workflowId: string, stepId: string, params?: {
|
|
5269
5278
|
input?: Record<string, unknown>;
|
|
5270
5279
|
confirmed?: boolean;
|
|
5280
|
+
node?: WorkflowNode;
|
|
5281
|
+
upstreamOutputs?: Record<string, Record<string, unknown>>;
|
|
5271
5282
|
}): Promise<WorkflowRunDetail>;
|
|
5272
5283
|
cancelRun(workflowId: string, runId: string): Promise<WorkflowRunCancellationResult>;
|
|
5273
5284
|
respond(workflowId: string, runId: string, stepId: string, input: Record<string, unknown>): Promise<WorkflowRunDetail>;
|
|
@@ -5420,4 +5431,4 @@ type AssistantFeedbackDecision = {
|
|
|
5420
5431
|
};
|
|
5421
5432
|
declare function buildAssistantFeedbackDecision(rating: number): AssistantFeedbackDecision;
|
|
5422
5433
|
|
|
5423
|
-
export { APP_SKILL_METADATA, ASSISTANT_FEEDBACK_REPORT_TITLE, ASSISTANT_FEEDBACK_THANKS, type ApiKeyCreateOptions, type ApiKeyCreateResult, type ApiKeyRecord, type AssistantFeedbackDecision, type ChatCreateOptions, type ChatListOptions, type ChatResponse, DecryptedUserTask, type DesignIconExportFormat, type DesignIconExportOptions, type DesignIconExportResult, type DraftRecord, type EncryptedChatMetadata, type EncryptedDraftRecord, type FocusModeSelection, type IdeaBucketAddInput, type IdeaBucketProcessOptions, type IdeaBucketResult, type IdeaBucketSettings, type IdeaBucketSettingsInput, OpenMates, OpenMatesApiError, OpenMatesConfigError, type OpenMatesOptions, type PlanPlainCreateOptions, type PlanPlainUpdateOptions, type PlanRecord, type ProjectPlainCreateOptions, type ProjectPlainUpdateOptions, type ProjectRecordPlain, SUPPORT_URL, type TaskListFilters, type TaskPlainCreateOptions, type TaskPlainUpdateOptions, type TaskRecord, WorkflowCapability, WorkflowDetail, WorkflowGraph, WorkflowRunContentRetention, WorkflowRunDetail, WorkflowSummary, buildAssistantFeedbackDecision, buildCreatePlanCriterionInput, buildCreatePlanLearningInput, buildCreatePlanVerificationInput, buildCreateUserPlanInput, buildPlanVerificationEvidenceInput, buildUpdatePlanLearningInput, buildUpdatePlanVerificationInput, buildUpdateUserPlanInput, decryptPlanLearning, decryptPlanLearnings, decryptUserPlan, decryptUserPlans, defaultCloneBranchForVersion, findPlan, findPlanLearning, projectAssistantSpeech, renderPlanDetail, renderPlanLearningDetail, renderPlanLearningList, renderPlanList, renderSupportInfo, selectAssistantMessagesForSpeech, summarizeAssistantSpeech };
|
|
5434
|
+
export { APP_SKILL_METADATA, ASSISTANT_FEEDBACK_REPORT_TITLE, ASSISTANT_FEEDBACK_THANKS, type ApiKeyCreateOptions, type ApiKeyCreateResult, type ApiKeyRecord, type AssistantFeedbackDecision, type ChatCreateOptions, type ChatListOptions, type ChatResponse, DecryptedUserTask, type DesignIconExportFormat, type DesignIconExportOptions, type DesignIconExportResult, type DraftRecord, type EncryptedChatMetadata, type EncryptedDraftRecord, type FocusModeSelection, type IdeaBucketAddInput, type IdeaBucketProcessOptions, type IdeaBucketResult, type IdeaBucketSettings, type IdeaBucketSettingsInput, OpenMates, OpenMatesApiError, OpenMatesConfigError, type OpenMatesOptions, type PlanPlainCreateOptions, type PlanPlainUpdateOptions, type PlanRecord, type ProjectPlainCreateOptions, type ProjectPlainUpdateOptions, type ProjectRecordPlain, SUPPORT_URL, type TaskListFilters, type TaskPlainCreateOptions, type TaskPlainUpdateOptions, type TaskRecord, WorkflowCapability, WorkflowDetail, WorkflowGraph, WorkflowNode, WorkflowRunContentRetention, WorkflowRunDetail, WorkflowSummary, buildAssistantFeedbackDecision, buildCreatePlanCriterionInput, buildCreatePlanLearningInput, buildCreatePlanVerificationInput, buildCreateUserPlanInput, buildPlanVerificationEvidenceInput, buildUpdatePlanLearningInput, buildUpdatePlanVerificationInput, buildUpdateUserPlanInput, decryptPlanLearning, decryptPlanLearnings, decryptUserPlan, decryptUserPlans, defaultCloneBranchForVersion, findPlan, findPlanLearning, projectAssistantSpeech, renderPlanDetail, renderPlanLearningDetail, renderPlanLearningList, renderPlanList, renderSupportInfo, selectAssistantMessagesForSpeech, summarizeAssistantSpeech };
|
package/dist/index.js
CHANGED