@loomcycle/client 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client.js +9 -0
- package/dist/client.d.ts +10 -1
- package/dist/client.js +9 -0
- package/dist/index.d.ts +1 -1
- package/dist/types.d.ts +26 -0
- package/package.json +2 -2
package/dist/cjs/client.js
CHANGED
|
@@ -994,6 +994,15 @@ class LoomcycleClient {
|
|
|
994
994
|
async deleteChannel(name, opts) {
|
|
995
995
|
return (0, fetch_helpers_js_1.deleteRequest)(this.ctx, `/v1/_channels/${encodeURIComponent(name)}`, opts);
|
|
996
996
|
}
|
|
997
|
+
/** Clear all buffered messages on a channel WITHOUT removing its
|
|
998
|
+
* definition or subscriber cursors. Unlike {@link deleteChannel} this
|
|
999
|
+
* is allowed on yaml-declared channels too — draining a yaml channel
|
|
1000
|
+
* that filled with test traffic was the F20 pain it solves. Returns
|
|
1001
|
+
* the channel name + the number of messages cleared. Unknown channels
|
|
1002
|
+
* reject with a {@link NotFoundError}. */
|
|
1003
|
+
async purgeChannel(name, opts) {
|
|
1004
|
+
return (0, fetch_helpers_js_1.postJSON)(this.ctx, `/v1/_channels/${encodeURIComponent(name)}/purge`, {}, { signal: opts?.signal });
|
|
1005
|
+
}
|
|
997
1006
|
// ---- v0.11.5 Memory entry admin CRUD ----
|
|
998
1007
|
/** Idempotently upsert one memory entry by full (scope, scope_id,
|
|
999
1008
|
* key) identifier. PUT semantics — re-writes overwrite the value.
|
package/dist/client.d.ts
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* via fetch-helpers.ts:raiseFromResponse — see README.md for the
|
|
24
24
|
* full mapping table.
|
|
25
25
|
*/
|
|
26
|
-
import type { Agent, AgentEvent, AgentStatus, CancelAgentResult, ClientOptions, ContinueOptions, CreateSnapshotOptions, EnsureCodeAgentOptions, EnsureCodeAgentResult, EnsureMcpServerOptions, EnsureMcpServerResult, HealthResponse, Hook, InterruptListResponse, InterruptStatus, AckChannelOptions, ChannelAckResult, ChannelDescriptor, ChannelPeekResult, ChannelPublishResult, ChannelSubscribeResult, CreateChannelOptions, ListChannelsResponse, PeekChannelOptions, PublishChannelOptions, SetMemoryEntryOptions, SetMemoryEntryResponse, SubscribeChannelOptions, UpdateChannelOptions, LibraryAgentDefinition, LibraryListResponse, LibraryMcpServerDefinition, LibrarySkillDefinition, ListUsersResponse, LLMChatOptions, LLMChatResponse, LLMChatStreamItem, LLMEmbeddingsOptions, LLMEmbeddingsResponse, MCPServerDefVerifyResult, MemoryEntriesResponse, MemoryEntryResponse, MemoryScopeIDsResponse, MemoryScopesResponse, PauseResult, RegisterHookOptions, RegisterHookResponse, ResolveInterruptOptions, ResumeResult, ResolverMatrix, RunOptions, RunStateStreamItem, RuntimeStateResponse, SnapshotCreateResponse, SnapshotDescriptor, SnapshotEnvelope, SnapshotRestoreResponse, StreamUserRunStatesOptions, SubstrateToolInput, SubstrateToolResponse, TranscriptResponse, WhoamiResponse } from "./types.js";
|
|
26
|
+
import type { Agent, AgentEvent, AgentStatus, CancelAgentResult, ClientOptions, ContinueOptions, CreateSnapshotOptions, EnsureCodeAgentOptions, EnsureCodeAgentResult, EnsureMcpServerOptions, EnsureMcpServerResult, HealthResponse, Hook, InterruptListResponse, InterruptStatus, AckChannelOptions, ChannelAckResult, ChannelDescriptor, ChannelPeekResult, ChannelPublishResult, ChannelPurgeResult, ChannelSubscribeResult, CreateChannelOptions, ListChannelsResponse, PeekChannelOptions, PublishChannelOptions, SetMemoryEntryOptions, SetMemoryEntryResponse, SubscribeChannelOptions, UpdateChannelOptions, LibraryAgentDefinition, LibraryListResponse, LibraryMcpServerDefinition, LibrarySkillDefinition, ListUsersResponse, LLMChatOptions, LLMChatResponse, LLMChatStreamItem, LLMEmbeddingsOptions, LLMEmbeddingsResponse, MCPServerDefVerifyResult, MemoryEntriesResponse, MemoryEntryResponse, MemoryScopeIDsResponse, MemoryScopesResponse, PauseResult, RegisterHookOptions, RegisterHookResponse, ResolveInterruptOptions, ResumeResult, ResolverMatrix, RunOptions, RunStateStreamItem, RuntimeStateResponse, SnapshotCreateResponse, SnapshotDescriptor, SnapshotEnvelope, SnapshotRestoreResponse, StreamUserRunStatesOptions, SubstrateToolInput, SubstrateToolResponse, TranscriptResponse, WhoamiResponse } from "./types.js";
|
|
27
27
|
export declare class LoomcycleClient {
|
|
28
28
|
private ctx;
|
|
29
29
|
constructor(opts?: ClientOptions);
|
|
@@ -611,6 +611,15 @@ export declare class LoomcycleClient {
|
|
|
611
611
|
deleteChannel(name: string, opts?: {
|
|
612
612
|
signal?: AbortSignal;
|
|
613
613
|
}): Promise<void>;
|
|
614
|
+
/** Clear all buffered messages on a channel WITHOUT removing its
|
|
615
|
+
* definition or subscriber cursors. Unlike {@link deleteChannel} this
|
|
616
|
+
* is allowed on yaml-declared channels too — draining a yaml channel
|
|
617
|
+
* that filled with test traffic was the F20 pain it solves. Returns
|
|
618
|
+
* the channel name + the number of messages cleared. Unknown channels
|
|
619
|
+
* reject with a {@link NotFoundError}. */
|
|
620
|
+
purgeChannel(name: string, opts?: {
|
|
621
|
+
signal?: AbortSignal;
|
|
622
|
+
}): Promise<ChannelPurgeResult>;
|
|
614
623
|
/** Idempotently upsert one memory entry by full (scope, scope_id,
|
|
615
624
|
* key) identifier. PUT semantics — re-writes overwrite the value.
|
|
616
625
|
* Optional embed flag triggers a synchronous embed via the
|
package/dist/client.js
CHANGED
|
@@ -991,6 +991,15 @@ export class LoomcycleClient {
|
|
|
991
991
|
async deleteChannel(name, opts) {
|
|
992
992
|
return deleteRequest(this.ctx, `/v1/_channels/${encodeURIComponent(name)}`, opts);
|
|
993
993
|
}
|
|
994
|
+
/** Clear all buffered messages on a channel WITHOUT removing its
|
|
995
|
+
* definition or subscriber cursors. Unlike {@link deleteChannel} this
|
|
996
|
+
* is allowed on yaml-declared channels too — draining a yaml channel
|
|
997
|
+
* that filled with test traffic was the F20 pain it solves. Returns
|
|
998
|
+
* the channel name + the number of messages cleared. Unknown channels
|
|
999
|
+
* reject with a {@link NotFoundError}. */
|
|
1000
|
+
async purgeChannel(name, opts) {
|
|
1001
|
+
return postJSON(this.ctx, `/v1/_channels/${encodeURIComponent(name)}/purge`, {}, { signal: opts?.signal });
|
|
1002
|
+
}
|
|
994
1003
|
// ---- v0.11.5 Memory entry admin CRUD ----
|
|
995
1004
|
/** Idempotently upsert one memory entry by full (scope, scope_id,
|
|
996
1005
|
* key) identifier. PUT semantics — re-writes overwrite the value.
|
package/dist/index.d.ts
CHANGED
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
* See `adapters/ts/README.md` for usage examples.
|
|
83
83
|
*/
|
|
84
84
|
export { LoomcycleClient } from "./client.js";
|
|
85
|
-
export type { AgentEvent, ClientOptions, ContinueOptions, EventType, HostWidening, ParentContext, PromptContent, PromptSegment, RetryInfo, RunOptions, ToolUse, Usage, Agent, AgentStatus, AgentUsage, CancelAgentResult, ListAgentsResponse, TranscriptEvent, TranscriptResponse, HealthResponse, ListUsersResponse, UserSummary, WhoamiResponse, PauseResult, ResumeResult, RuntimeStateResponse, RuntimeStateStatus, ResolverMatrix, ResolverModelStatus, ResolverProviderAvailability, CreateSnapshotOptions, SnapshotCreateResponse, SnapshotDescriptor, SnapshotEnvelope, SnapshotListResponse, SnapshotRestoreResponse, MemoryEntriesResponse, MemoryEntry, MemoryEntryResponse, MemoryScopeIDsResponse, MemoryScopeIDSummary, MemoryScopeKind, MemoryScopesResponse, InterruptListResponse, InterruptRow, InterruptStatus, ResolveInterruptOptions, Hook, HookFailMode, HookPhase, HookToolCall, HookToolResult, ListHooksResponse, PostHookCall, PostHookResult, PreHookCall, PreHookResult, RegisterHookOptions, RegisterHookResponse, SubstrateToolInput, SubstrateToolResponse, SystemPromptPayload, UserInputPayload, ChannelDescriptor, ListChannelsResponse, RunStateEvent, RunStateStreamClose, RunStateStreamItem, RunStateStreamOpen, StreamUserRunStatesOptions, AckChannelOptions, ChannelAckResult, ChannelMessageItem, ChannelPeekResult, ChannelPublishResult, ChannelScope, ChannelSubscribeResult, PeekChannelOptions, PublishChannelOptions, SubscribeChannelOptions, CreateChannelOptions, UpdateChannelOptions, SetMemoryEntryOptions, SetMemoryEntryResponse, AgentDefRowResponse, AgentDefVerifyResult, SkillDefVerifyResult, EnsureMcpServerOptions, EnsureMcpServerResult, MCPServerDefRowResponse, MCPServerDefVerifyResult, AgentDefOverlay, EnsureCodeAgentOptions, EnsureCodeAgentResult, LibraryAgentDefinition, LibraryEntry, LibraryListResponse, LibraryMcpServerDefinition, LibrarySkillDefinition, LLMChatContent, LLMChatMessage, LLMChatOptions, LLMChatResponse, LLMChatStreamDelta, LLMChatStreamItem, LLMChatToolCall, LLMChatUsage, LLMTool, LLMEmbeddingItem, LLMEmbeddingsOptions, LLMEmbeddingsResponse, LLMEmbeddingsUsage, } from "./types.js";
|
|
85
|
+
export type { AgentEvent, ClientOptions, ContinueOptions, EventType, HostWidening, ParentContext, PromptContent, PromptSegment, RetryInfo, RunOptions, ToolUse, Usage, Agent, AgentStatus, AgentUsage, CancelAgentResult, ListAgentsResponse, TranscriptEvent, TranscriptResponse, HealthResponse, ListUsersResponse, UserSummary, WhoamiResponse, PauseResult, ResumeResult, RuntimeStateResponse, RuntimeStateStatus, ResolverMatrix, ResolverModelStatus, ResolverProviderAvailability, CreateSnapshotOptions, SnapshotCreateResponse, SnapshotDescriptor, SnapshotEnvelope, SnapshotListResponse, SnapshotRestoreResponse, MemoryEntriesResponse, MemoryEntry, MemoryEntryResponse, MemoryScopeIDsResponse, MemoryScopeIDSummary, MemoryScopeKind, MemoryScopesResponse, InterruptListResponse, InterruptRow, InterruptStatus, ResolveInterruptOptions, Hook, HookFailMode, HookPhase, HookToolCall, HookToolResult, ListHooksResponse, PostHookCall, PostHookResult, PreHookCall, PreHookResult, RegisterHookOptions, RegisterHookResponse, SubstrateToolInput, SubstrateToolResponse, SystemPromptPayload, UserInputPayload, ChannelDescriptor, ListChannelsResponse, RunStateEvent, RunStateStreamClose, RunStateStreamItem, RunStateStreamOpen, StreamUserRunStatesOptions, AckChannelOptions, ChannelAckResult, ChannelMessageItem, ChannelPeekResult, ChannelPublishResult, ChannelPurgeResult, ChannelScope, ChannelSubscribeResult, PeekChannelOptions, PublishChannelOptions, SubscribeChannelOptions, CreateChannelOptions, UpdateChannelOptions, SetMemoryEntryOptions, SetMemoryEntryResponse, AgentDefRowResponse, AgentDefVerifyResult, SkillDefVerifyResult, EnsureMcpServerOptions, EnsureMcpServerResult, MCPServerDefRowResponse, MCPServerDefVerifyResult, AgentDefOverlay, EnsureCodeAgentOptions, EnsureCodeAgentResult, LibraryAgentDefinition, LibraryEntry, LibraryListResponse, LibraryMcpServerDefinition, LibrarySkillDefinition, LLMChatContent, LLMChatMessage, LLMChatOptions, LLMChatResponse, LLMChatStreamDelta, LLMChatStreamItem, LLMChatToolCall, LLMChatUsage, LLMTool, LLMEmbeddingItem, LLMEmbeddingsOptions, LLMEmbeddingsResponse, LLMEmbeddingsUsage, } from "./types.js";
|
|
86
86
|
export { AgentIDInUseError, AgentNotFoundError, AlreadyPausingError, AuthError, BackpressureError, HookNotFoundError, NotFoundError, InvalidArgumentError, ChannelCursorRegressionError, LoomcycleError, NotPausedError, PauseNotConfiguredError, PerUserQuotaExhaustedError, SessionBusyError, SessionNotFoundError, SnapshotNotFoundError, SnapshotTooLargeError, SnapshotVersionError, SubstrateToolRefusedError, UnavailableError, } from "./errors.js";
|
package/dist/types.d.ts
CHANGED
|
@@ -675,6 +675,12 @@ export interface ChannelDescriptor {
|
|
|
675
675
|
export interface ListChannelsResponse {
|
|
676
676
|
channels: ChannelDescriptor[];
|
|
677
677
|
}
|
|
678
|
+
/** Result of {@link LoomcycleClient.purgeChannel} — the channel name and
|
|
679
|
+
* the count of buffered messages cleared. */
|
|
680
|
+
export interface ChannelPurgeResult {
|
|
681
|
+
name: string;
|
|
682
|
+
purged: number;
|
|
683
|
+
}
|
|
678
684
|
/** Scope selector for the Channel CRUD methods. `"global"` addresses
|
|
679
685
|
* the admin surface; `"user"` requires `userId` and addresses the
|
|
680
686
|
* per-end-user URL family. */
|
|
@@ -1025,6 +1031,19 @@ export interface EnsureMcpServerResult {
|
|
|
1025
1031
|
* host filesystem bind — the symmetry that makes code agents work in
|
|
1026
1032
|
* containers / pure-cloud. Requires `LOOMCYCLE_CODE_AGENTS_ENABLED=1` on the
|
|
1027
1033
|
* sidecar; create/fork refuses a non-empty `code_body` otherwise. */
|
|
1034
|
+
/** Per-agent Channel tool ACL (mirrors the sidecar `channels:` agent yaml).
|
|
1035
|
+
* The Channel tool default-denies until publish/subscribe patterns are granted. */
|
|
1036
|
+
export interface AgentChannelACL {
|
|
1037
|
+
publish?: string[];
|
|
1038
|
+
subscribe?: string[];
|
|
1039
|
+
}
|
|
1040
|
+
/** Per-agent Interruption tool gate (mirrors the sidecar `interruption:` agent
|
|
1041
|
+
* yaml). `enabled: true` is REQUIRED for the Interruption tool to work at all. */
|
|
1042
|
+
export interface AgentInterruptionACL {
|
|
1043
|
+
enabled?: boolean;
|
|
1044
|
+
kinds?: string[];
|
|
1045
|
+
max_pending?: number;
|
|
1046
|
+
}
|
|
1028
1047
|
export interface AgentDefOverlay {
|
|
1029
1048
|
provider?: string;
|
|
1030
1049
|
model?: string;
|
|
@@ -1044,6 +1063,13 @@ export interface AgentDefOverlay {
|
|
|
1044
1063
|
memory_quota_bytes?: number;
|
|
1045
1064
|
memory_backend?: string;
|
|
1046
1065
|
retry_attempts?: number;
|
|
1066
|
+
/** Evaluation tool scope gate, e.g. `["submit_self", "read_any"]`. The
|
|
1067
|
+
* Evaluation tool default-denies until granted. */
|
|
1068
|
+
evaluation_scopes?: string[];
|
|
1069
|
+
/** Channel tool ACL (default-deny until set). */
|
|
1070
|
+
channels?: AgentChannelACL;
|
|
1071
|
+
/** Interruption tool gate — `enabled: true` REQUIRED for the tool to work. */
|
|
1072
|
+
interruption?: AgentInterruptionACL;
|
|
1047
1073
|
[extra: string]: unknown;
|
|
1048
1074
|
}
|
|
1049
1075
|
/** Options for {@link LoomcycleClient.ensureCodeAgent}. */
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loomcycle/client",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "TypeScript client for the loomcycle sidecar (HTTP+SSE).
|
|
3
|
+
"version": "0.24.0",
|
|
4
|
+
"description": "TypeScript client for the loomcycle sidecar (HTTP+SSE). 52 methods covering run streaming, agent metadata, pause/resume/state, resolver re-probe (resolveProbe — issue #88 operator escape hatch), operator-token admin (operatorTokenDef — RFC L OSS multi-tenant auth) + whoami (RFC L authoritative principal, v0.17.0) + tenant-scoped listUsers / listUserAgents, dynamic MCP registration (mcpServerDef + v0.18.0 typed mcpServerDefVerify + ensureMcpServer idempotent register-if-changed), snapshot lifecycle, memory admin (incl. v0.9.0 Vector Memory embed_stats + reembed AND v0.11.5 setMemoryEntry + deleteMemoryEntry), interruption resolve, hook management, v0.8.22 substrate admin (agentDef + skillDef), v0.9.x n8n Phase 0 (listChannels + streamUserRunStates), v0.9.x Channel CRUD (publishChannel + subscribeChannel + peekChannel + ackChannel), v0.11.5 Channel admin CRUD (createChannel + updateChannel + deleteChannel — runtime substrate; yaml channels refuse mutation with HTTP 409), v0.9.x content_sha256 verify, v0.9.1 transcript first-cycle, v0.9.x dynamic MCP server registration (mcpServerDef + MCPServerDefVerifyResult), v0.10.3 Library v2 enumeration (listLibraryAgents + listLibrarySkills + listLibraryMcpServers), and v0.11.0 LLM Gateway (llmChat + llmStream — direct provider routing without agent overhead; primary target is n8n's LoomCycleChatModel AI Agent sub-node and any LangChain-compatible consumer). v0.10.1 — dual ESM + CommonJS distribution (additive — ESM consumers unchanged; CJS consumers like n8n's community-node loader now work). v0.19.0 — typed inline code-js agent ingestion (AgentDefOverlay.code_body + ensureCodeAgent — register a deterministic code agent through the substrate with no host filesystem bind; RFC J). v0.20.0 — ensureMcpServer surfaces discoveredToolCount straight from create (loomcycle now auto-discovers MCP tools at ingestion); rediscover is now an explicit force-refresh. v0.21.0 — run/continue accept optional non-secret `metadata` (repo name, review policy, …) passed to the agent, symmetric with the WebHook/Schedule trigger paths. v0.22.0 — version-aligned lockstep release; no client-surface change (RFC N tenant isolation of the agent/skill/MCP/Schedule/Webhook definition plane + real op-schemas on the builtin MCP meta-tools are both server-side). v0.23.0 — version-aligned lockstep release; no client-surface change (RFCs O/P/R MCP-server hardening + thin client and the RFC Q DeepSeek tool-content fix are all server-side / MCP-transport-side). v0.24.0 — purgeChannel clears a channel's buffered messages without deleting its definition (allowed on yaml-declared channels too, unlike deleteChannel — F20); AgentDefOverlay gains channels / evaluation_scopes / interruption so a COMPLETE interactive/multi-agent agent round-trips over the substrate (F14). (Consolidates the interim 0.24/0.25 package bumps, which were never tag-published, back into lockstep with the loomcycle v0.24.0 tag.)",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"repository": {
|