@ferricstore/ferricstore 0.11.11 → 0.12.1

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.
Files changed (87) hide show
  1. package/README.md +19 -1
  2. package/dist/durability-DlDCsdlo.d.cts +16 -0
  3. package/dist/durability-DplL0SbW.d.ts +16 -0
  4. package/dist/index.cjs +1 -1
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.d.cts +5 -162
  7. package/dist/index.d.ts +5 -162
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/internal-lEEDZpPH.d.cts +4 -0
  11. package/dist/internal-lEEDZpPH.d.ts +4 -0
  12. package/dist/langgraph.cjs +1548 -0
  13. package/dist/langgraph.cjs.map +1 -0
  14. package/dist/langgraph.d.cts +158 -0
  15. package/dist/langgraph.d.ts +158 -0
  16. package/dist/langgraph.js +1522 -0
  17. package/dist/langgraph.js.map +1 -0
  18. package/dist/openai-agents.cjs +717 -0
  19. package/dist/openai-agents.cjs.map +1 -0
  20. package/dist/openai-agents.d.cts +50 -0
  21. package/dist/openai-agents.d.ts +50 -0
  22. package/dist/openai-agents.js +692 -0
  23. package/dist/openai-agents.js.map +1 -0
  24. package/dist/outcomes-BbFDp3AH.d.ts +160 -0
  25. package/dist/outcomes-DmBwnq0Y.d.cts +160 -0
  26. package/docs/agent-api/assets/hierarchy.js +1 -0
  27. package/docs/agent-api/assets/highlight.css +92 -0
  28. package/docs/agent-api/assets/icons.js +18 -0
  29. package/docs/agent-api/assets/icons.svg +1 -0
  30. package/docs/agent-api/assets/main.js +60 -0
  31. package/docs/agent-api/assets/navigation.js +1 -0
  32. package/docs/agent-api/assets/search.js +1 -0
  33. package/docs/agent-api/assets/style.css +1648 -0
  34. package/docs/agent-api/classes/langgraph.FerricStoreSaver.html +297 -0
  35. package/docs/agent-api/classes/langgraph.FerricStoreStore.html +298 -0
  36. package/docs/agent-api/classes/langgraph.LangGraphFlow.html +190 -0
  37. package/docs/agent-api/classes/langgraph.LangGraphFlowContext.html +158 -0
  38. package/docs/agent-api/classes/langgraph.LangGraphFlowRun.html +133 -0
  39. package/docs/agent-api/classes/openai-agents.FerricStoreSession.html +241 -0
  40. package/docs/agent-api/hierarchy.html +44 -0
  41. package/docs/agent-api/index.html +142 -0
  42. package/docs/agent-api/interfaces/langgraph.FerricFlowHandlerContext.html +94 -0
  43. package/docs/agent-api/interfaces/langgraph.FerricStoreCommandClient.html +77 -0
  44. package/docs/agent-api/interfaces/langgraph.FerricStoreLockOptions.html +81 -0
  45. package/docs/agent-api/interfaces/langgraph.FerricStoreSaverOptions.html +106 -0
  46. package/docs/agent-api/interfaces/langgraph.FerricStoreStoreOptions.html +98 -0
  47. package/docs/agent-api/interfaces/langgraph.InvokableLangGraph.html +83 -0
  48. package/docs/agent-api/interfaces/langgraph.LangGraphFlowOptions.html +116 -0
  49. package/docs/agent-api/interfaces/openai-agents.FerricStoreSessionOptions.html +114 -0
  50. package/docs/agent-api/interfaces/openai-agents.Session.html +208 -0
  51. package/docs/agent-api/interfaces/openai-agents.SessionHistoryRewriteAwareSession.html +230 -0
  52. package/docs/agent-api/interfaces/openai-agents.SessionHistoryTransactionAwareSession.html +237 -0
  53. package/docs/agent-api/modules/langgraph.html +44 -0
  54. package/docs/agent-api/modules/openai-agents.html +44 -0
  55. package/docs/agent-api/modules.html +35 -0
  56. package/docs/agent-api/types/langgraph.LangGraphChannelVersions.html +33 -0
  57. package/docs/agent-api/types/langgraph.LangGraphInvocationConfig.html +33 -0
  58. package/docs/agent-api/types/langgraph.LangGraphOutcomeMapper.html +50 -0
  59. package/docs/agent-api/types/langgraph.LangGraphPendingWrite.html +33 -0
  60. package/docs/agent-api/types/openai-agents.AgentInputItem.html +35 -0
  61. package/docs/agent-frameworks.md +176 -0
  62. package/docs/api/assets/highlight.css +12 -12
  63. package/docs/api/classes/ClaimHydrationError.html +2 -2
  64. package/docs/api/classes/ConnectionClosedError.html +2 -2
  65. package/docs/api/classes/FerricStoreError.html +2 -2
  66. package/docs/api/classes/FlowAlreadyExistsError.html +2 -2
  67. package/docs/api/classes/FlowBatchError.html +2 -2
  68. package/docs/api/classes/FlowNotFoundError.html +2 -2
  69. package/docs/api/classes/FlowQueryError.html +2 -2
  70. package/docs/api/classes/FlowWrongStateError.html +2 -2
  71. package/docs/api/classes/HTTPTransportError.html +2 -2
  72. package/docs/api/classes/InvalidCommandError.html +2 -2
  73. package/docs/api/classes/LeaseRenewalError.html +2 -2
  74. package/docs/api/classes/LockHeldError.html +2 -2
  75. package/docs/api/classes/LockNotOwnedError.html +2 -2
  76. package/docs/api/classes/OverloadedError.html +2 -2
  77. package/docs/api/classes/QueueCompletionError.html +2 -2
  78. package/docs/api/classes/RequestTimeoutError.html +2 -2
  79. package/docs/api/classes/RerouteError.html +2 -2
  80. package/docs/api/classes/StaleLeaseError.html +2 -2
  81. package/docs/api/classes/StalePolicyGenerationError.html +2 -2
  82. package/docs/api/index.html +37 -24
  83. package/docs/api/media/agent-frameworks.md +176 -0
  84. package/docs/api/media/langgraph.ts +23 -0
  85. package/docs/api/media/openai-agents-session.ts +13 -0
  86. package/docs/api/variables/FERRICSTORE_SDK_VERSION.html +1 -1
  87. package/package.json +43 -4
@@ -0,0 +1,158 @@
1
+ import { BaseCheckpointSaver, CheckpointTuple, Checkpoint, CheckpointMetadata, BaseStore, Operation, OperationResults, Command } from '@langchain/langgraph';
2
+ import { RunnableConfig } from '@langchain/core/runnables';
3
+ import { F as FerricStoreCommandClient, a as FerricStoreLockOptions } from './durability-DplL0SbW.js';
4
+ import { O as Outcome } from './outcomes-BbFDp3AH.js';
5
+ import './internal-lEEDZpPH.js';
6
+
7
+ type LangGraphPendingWrite = [channel: string, value: unknown];
8
+ type LangGraphChannelVersions = Record<string, string | number>;
9
+ type SerializerProtocol = BaseCheckpointSaver["serde"];
10
+ interface FerricStoreSaverOptions extends FerricStoreLockOptions {
11
+ /** FerricStore key prefix. Defaults to `langgraph:checkpoint`. */
12
+ keyPrefix?: string;
13
+ /** Number of catalog/hash entries read per page. Defaults to 256. */
14
+ scanCount?: number;
15
+ /** Optional LangGraph serializer. The framework JSON-plus serializer is used by default. */
16
+ serde?: SerializerProtocol;
17
+ }
18
+ /** Durable, epoch-fenced LangGraph.js checkpoint saver backed by FerricStore. */
19
+ declare class FerricStoreSaver extends BaseCheckpointSaver {
20
+ readonly client: FerricStoreCommandClient;
21
+ readonly keyPrefix: string;
22
+ readonly scanCount: number;
23
+ private readonly lockOptions;
24
+ constructor(client: FerricStoreCommandClient, options?: FerricStoreSaverOptions);
25
+ getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;
26
+ list(config: RunnableConfig, options?: {
27
+ limit?: number;
28
+ before?: RunnableConfig;
29
+ filter?: Record<string, unknown>;
30
+ }): AsyncGenerator<CheckpointTuple>;
31
+ put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, _newVersions: LangGraphChannelVersions): Promise<RunnableConfig>;
32
+ putWrites(config: RunnableConfig, writes: LangGraphPendingWrite[], taskId: string): Promise<void>;
33
+ deleteThread(threadId: string): Promise<void>;
34
+ private catalogKey;
35
+ private threadCatalogKey;
36
+ private threadLocatorCatalogKey;
37
+ private threadLockKey;
38
+ private threadKey;
39
+ private checkpointIndexKey;
40
+ private threadEpochKey;
41
+ private atomicCheckpointIndexKey;
42
+ private atomicPendingWriteIndexKey;
43
+ private checkpointRecordKey;
44
+ private pendingWriteKey;
45
+ private readThreadEpoch;
46
+ private ensureThreadEpoch;
47
+ private assertCurrentEpoch;
48
+ private serialize;
49
+ private deserialize;
50
+ private readRecordAtEpoch;
51
+ private pendingWritesAtEpoch;
52
+ private tupleFromRecord;
53
+ private scanHash;
54
+ private threadKeys;
55
+ private checkpointIdsAtEpoch;
56
+ private collectGlobal;
57
+ }
58
+
59
+ interface FerricStoreStoreOptions extends FerricStoreLockOptions {
60
+ /** FerricStore key prefix. Defaults to `langgraph:store`. */
61
+ keyPrefix?: string;
62
+ /** Number of catalog entries read per page. Defaults to 256. */
63
+ scanCount?: number;
64
+ }
65
+ /**
66
+ * LangGraph.js long-term memory store backed by FerricStore.
67
+ *
68
+ * It implements hierarchical namespaces, exact/comparison filters, ordered
69
+ * pagination, batching, CAS-protected item commits, and append-only discovery
70
+ * indexes. Vector search is deliberately rejected until a semantic index is
71
+ * configured rather than silently returning an unranked result.
72
+ */
73
+ declare class FerricStoreStore extends BaseStore {
74
+ readonly client: FerricStoreCommandClient;
75
+ readonly keyPrefix: string;
76
+ readonly scanCount: number;
77
+ private readonly lockOptions;
78
+ constructor(client: FerricStoreCommandClient, options?: FerricStoreStoreOptions);
79
+ batch<Op extends Operation[]>(operations: Op): Promise<OperationResults<Op>>;
80
+ private catalogKey;
81
+ private namespaceKey;
82
+ private itemLockKey;
83
+ private itemDataKey;
84
+ private getOperation;
85
+ private putOperation;
86
+ private searchOperation;
87
+ private listNamespacesOperation;
88
+ private readCatalogItem;
89
+ private readItemSnapshot;
90
+ private catalogLocators;
91
+ }
92
+
93
+ type LangGraphInvocationConfig = RunnableConfig & {
94
+ context?: unknown;
95
+ } & Record<string, unknown>;
96
+ interface InvokableLangGraph<Input = unknown, Output = unknown> {
97
+ invoke(input: Input | Command | null, options?: LangGraphInvocationConfig): Promise<Output>;
98
+ getState?(options: LangGraphInvocationConfig): Promise<unknown>;
99
+ }
100
+ /** Structural subset of WorkflowContext required by the LangGraph bridge. */
101
+ interface FerricFlowHandlerContext {
102
+ readonly id: string;
103
+ readonly logicalState: string;
104
+ readonly partitionKey?: string;
105
+ readonly payload: unknown;
106
+ readonly state: string;
107
+ readonly type: string;
108
+ readonly values: Record<string, unknown>;
109
+ }
110
+ declare class LangGraphFlowContext {
111
+ readonly flow: FerricFlowHandlerContext;
112
+ readonly threadId: string;
113
+ readonly checkpointNs: string;
114
+ constructor(flow: FerricFlowHandlerContext, threadId: string, checkpointNs: string);
115
+ get id(): string;
116
+ get type(): string;
117
+ get state(): string;
118
+ get partitionKey(): string | undefined;
119
+ get payload(): unknown;
120
+ get values(): Record<string, unknown>;
121
+ }
122
+ declare class LangGraphFlowRun<Output = unknown> {
123
+ readonly value: Output;
124
+ readonly threadId: string;
125
+ readonly checkpointNs: string;
126
+ readonly interrupts: readonly unknown[];
127
+ constructor(value: Output, threadId: string, checkpointNs: string, interrupts: readonly unknown[]);
128
+ get interrupted(): boolean;
129
+ get interruptValues(): readonly unknown[];
130
+ }
131
+ type LangGraphOutcomeMapper<Output> = (run: LangGraphFlowRun<Output>, flow: FerricFlowHandlerContext) => Outcome | Promise<Outcome>;
132
+ interface LangGraphFlowOptions<Input, Output> {
133
+ input?: (flow: FerricFlowHandlerContext) => Input | Promise<Input>;
134
+ threadId?: (flow: FerricFlowHandlerContext) => string | Promise<string>;
135
+ checkpointNs?: string | ((flow: FerricFlowHandlerContext) => string | Promise<string>);
136
+ config?: (flow: FerricFlowHandlerContext) => LangGraphInvocationConfig | undefined | Promise<LangGraphInvocationConfig | undefined>;
137
+ context?: (flow: FerricFlowHandlerContext) => unknown | Promise<unknown>;
138
+ onComplete?: LangGraphOutcomeMapper<Output>;
139
+ onInterrupt?: LangGraphOutcomeMapper<Output>;
140
+ interruptState?: string;
141
+ /** Resume an already-checkpointed graph with null input. Defaults to true. */
142
+ recoverExisting?: boolean;
143
+ invokeOptions?: LangGraphInvocationConfig;
144
+ }
145
+ /** Bind a LangGraph.js invocation to a leased FerricFlow workflow handler. */
146
+ declare class LangGraphFlow<Input = unknown, Output = unknown> {
147
+ readonly graph: InvokableLangGraph<Input, Output>;
148
+ private readonly options;
149
+ constructor(graph: InvokableLangGraph<Input, Output>, options?: LangGraphFlowOptions<Input, Output>);
150
+ config(flow: FerricFlowHandlerContext, graphContext?: unknown): Promise<LangGraphInvocationConfig>;
151
+ invoke(flow: FerricFlowHandlerContext, graphInput?: Input | Command | null, graphContext?: unknown): Promise<LangGraphFlowRun<Output>>;
152
+ outcome(run: LangGraphFlowRun<Output>, flow: FerricFlowHandlerContext): Promise<Outcome>;
153
+ handle(flow: FerricFlowHandlerContext, graphInput?: Input | Command | null, graphContext?: unknown): Promise<Outcome>;
154
+ resume(flow: FerricFlowHandlerContext, value: unknown, graphContext?: unknown): Promise<Outcome>;
155
+ handler(flow: FerricFlowHandlerContext): Promise<Outcome>;
156
+ }
157
+
158
+ export { type FerricFlowHandlerContext, FerricStoreCommandClient, FerricStoreLockOptions, FerricStoreSaver, type FerricStoreSaverOptions, FerricStoreStore, type FerricStoreStoreOptions, type InvokableLangGraph, type LangGraphChannelVersions, LangGraphFlow, LangGraphFlowContext, type LangGraphFlowOptions, LangGraphFlowRun, type LangGraphInvocationConfig, type LangGraphOutcomeMapper, type LangGraphPendingWrite };