@fragno-dev/pi-harness 0.0.0-stage → 0.0.3

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 (140) hide show
  1. package/LICENSE.md +16 -0
  2. package/README.md +181 -2
  3. package/dist/browser/agent-harness-event-protocol-CuKubox1.js +666 -0
  4. package/dist/browser/agent-harness-event-protocol-CuKubox1.js.map +1 -0
  5. package/dist/browser/agent-harness-event-protocol-d6mH_9n3.d.ts +261 -0
  6. package/dist/browser/agent-harness-event-protocol-d6mH_9n3.d.ts.map +1 -0
  7. package/dist/browser/client/clients.d.ts +2 -0
  8. package/dist/browser/client/clients.js +2 -0
  9. package/dist/browser/client/pi-workflow-emission-stream.d.ts +13 -0
  10. package/dist/browser/client/pi-workflow-emission-stream.d.ts.map +1 -0
  11. package/dist/browser/client/pi-workflow-emission-stream.js +29 -0
  12. package/dist/browser/client/pi-workflow-emission-stream.js.map +1 -0
  13. package/dist/browser/client/react.d.ts +147 -0
  14. package/dist/browser/client/react.d.ts.map +1 -0
  15. package/dist/browser/client/react.js +187 -0
  16. package/dist/browser/client/react.js.map +1 -0
  17. package/dist/browser/client/solid.d.ts +150 -0
  18. package/dist/browser/client/solid.d.ts.map +1 -0
  19. package/dist/browser/client/solid.js +130 -0
  20. package/dist/browser/client/solid.js.map +1 -0
  21. package/dist/browser/client/svelte.d.ts +150 -0
  22. package/dist/browser/client/svelte.d.ts.map +1 -0
  23. package/dist/browser/client/svelte.js +132 -0
  24. package/dist/browser/client/svelte.js.map +1 -0
  25. package/dist/browser/client/vanilla.d.ts +177 -0
  26. package/dist/browser/client/vanilla.d.ts.map +1 -0
  27. package/dist/browser/client/vanilla.js +159 -0
  28. package/dist/browser/client/vanilla.js.map +1 -0
  29. package/dist/browser/client/vue.d.ts +150 -0
  30. package/dist/browser/client/vue.d.ts.map +1 -0
  31. package/dist/browser/client/vue.js +128 -0
  32. package/dist/browser/client/vue.js.map +1 -0
  33. package/dist/browser/client/workflow-lofi-session-projection.d.ts +17 -0
  34. package/dist/browser/client/workflow-lofi-session-projection.d.ts.map +1 -0
  35. package/dist/browser/client/workflow-lofi-session-projection.js +107 -0
  36. package/dist/browser/client/workflow-lofi-session-projection.js.map +1 -0
  37. package/dist/browser/clients-DYXj19je.d.ts +247 -0
  38. package/dist/browser/clients-DYXj19je.d.ts.map +1 -0
  39. package/dist/browser/clients-pIAk6ClP.js +1853 -0
  40. package/dist/browser/clients-pIAk6ClP.js.map +1 -0
  41. package/dist/browser/pi/context-usage.d.ts +20 -0
  42. package/dist/browser/pi/context-usage.d.ts.map +1 -0
  43. package/dist/browser/pi/context-usage.js +84 -0
  44. package/dist/browser/pi/context-usage.js.map +1 -0
  45. package/dist/browser/pi/harness/agent-harness-event-protocol.d.ts +2 -0
  46. package/dist/browser/pi/harness/agent-harness-event-protocol.js +2 -0
  47. package/dist/browser/pi/route-schemas.d.ts +2 -0
  48. package/dist/browser/pi/route-schemas.js +130 -0
  49. package/dist/browser/pi/route-schemas.js.map +1 -0
  50. package/dist/browser/pi/workflow-session-projection.d.ts +2 -0
  51. package/dist/browser/pi/workflow-session-projection.js +2 -0
  52. package/dist/browser/route-schemas-DQB5ZR1E.d.ts +109 -0
  53. package/dist/browser/route-schemas-DQB5ZR1E.d.ts.map +1 -0
  54. package/dist/browser/types-8q4RWFXT.js +23 -0
  55. package/dist/browser/types-8q4RWFXT.js.map +1 -0
  56. package/dist/browser/types-Dk856kV1.d.ts +527 -0
  57. package/dist/browser/types-Dk856kV1.d.ts.map +1 -0
  58. package/dist/browser/workflow-session-projection-CJ4MUkpJ.js +443 -0
  59. package/dist/browser/workflow-session-projection-CJ4MUkpJ.js.map +1 -0
  60. package/dist/browser/workflow-session-projection-Dj_a79GF.d.ts +93 -0
  61. package/dist/browser/workflow-session-projection-Dj_a79GF.d.ts.map +1 -0
  62. package/dist/node/pi/compact-command-outcome-projection.js +41 -0
  63. package/dist/node/pi/compact-command-outcome-projection.js.map +1 -0
  64. package/dist/node/pi/context-usage.d.ts +20 -0
  65. package/dist/node/pi/context-usage.d.ts.map +1 -0
  66. package/dist/node/pi/context-usage.js +84 -0
  67. package/dist/node/pi/context-usage.js.map +1 -0
  68. package/dist/node/pi/definition.d.ts +535 -0
  69. package/dist/node/pi/definition.d.ts.map +1 -0
  70. package/dist/node/pi/definition.js +71 -0
  71. package/dist/node/pi/definition.js.map +1 -0
  72. package/dist/node/pi/factory.d.ts +142 -0
  73. package/dist/node/pi/factory.d.ts.map +1 -0
  74. package/dist/node/pi/factory.js +22 -0
  75. package/dist/node/pi/factory.js.map +1 -0
  76. package/dist/node/pi/harness/agent-harness-event-protocol.d.ts +261 -0
  77. package/dist/node/pi/harness/agent-harness-event-protocol.d.ts.map +1 -0
  78. package/dist/node/pi/harness/agent-harness-event-protocol.js +588 -0
  79. package/dist/node/pi/harness/agent-harness-event-protocol.js.map +1 -0
  80. package/dist/node/pi/harness/json-value.js +82 -0
  81. package/dist/node/pi/harness/json-value.js.map +1 -0
  82. package/dist/node/pi/harness/pi-operation-completed.d.ts +16 -0
  83. package/dist/node/pi/harness/pi-operation-completed.d.ts.map +1 -0
  84. package/dist/node/pi/harness/pi-operation-completed.js +71 -0
  85. package/dist/node/pi/harness/pi-operation-completed.js.map +1 -0
  86. package/dist/node/pi/harness/session-storage.d.ts +62 -0
  87. package/dist/node/pi/harness/session-storage.d.ts.map +1 -0
  88. package/dist/node/pi/harness/session-storage.js +174 -0
  89. package/dist/node/pi/harness/session-storage.js.map +1 -0
  90. package/dist/node/pi/pi-jsonl-export.d.ts +11 -0
  91. package/dist/node/pi/pi-jsonl-export.d.ts.map +1 -0
  92. package/dist/node/pi/pi-jsonl-export.js +31 -0
  93. package/dist/node/pi/pi-jsonl-export.js.map +1 -0
  94. package/dist/node/pi/route-schemas.d.ts +109 -0
  95. package/dist/node/pi/route-schemas.d.ts.map +1 -0
  96. package/dist/node/pi/route-schemas.js +130 -0
  97. package/dist/node/pi/route-schemas.js.map +1 -0
  98. package/dist/node/pi/session-command-protocol.d.ts +14 -0
  99. package/dist/node/pi/session-command-protocol.d.ts.map +1 -0
  100. package/dist/node/pi/session-command-protocol.js +25 -0
  101. package/dist/node/pi/session-command-protocol.js.map +1 -0
  102. package/dist/node/pi/session-entry-projection.js +79 -0
  103. package/dist/node/pi/session-entry-projection.js.map +1 -0
  104. package/dist/node/pi/skills.d.ts +70 -0
  105. package/dist/node/pi/skills.d.ts.map +1 -0
  106. package/dist/node/pi/skills.js +150 -0
  107. package/dist/node/pi/skills.js.map +1 -0
  108. package/dist/node/pi/tools.d.ts +12 -0
  109. package/dist/node/pi/tools.d.ts.map +1 -0
  110. package/dist/node/pi/tools.js +8 -0
  111. package/dist/node/pi/tools.js.map +1 -0
  112. package/dist/node/pi/types.d.ts +165 -0
  113. package/dist/node/pi/types.d.ts.map +1 -0
  114. package/dist/node/pi/types.js +49 -0
  115. package/dist/node/pi/types.js.map +1 -0
  116. package/dist/node/pi/wait-for-command-step.js +46 -0
  117. package/dist/node/pi/wait-for-command-step.js.map +1 -0
  118. package/dist/node/pi/workflow-session-live-projection.js +220 -0
  119. package/dist/node/pi/workflow-session-live-projection.js.map +1 -0
  120. package/dist/node/pi/workflow-session-projection.d.ts +84 -0
  121. package/dist/node/pi/workflow-session-projection.d.ts.map +1 -0
  122. package/dist/node/pi/workflow-session-projection.js +100 -0
  123. package/dist/node/pi/workflow-session-projection.js.map +1 -0
  124. package/dist/node/pi/workflows/interactive-chat-workflow.d.ts +37 -0
  125. package/dist/node/pi/workflows/interactive-chat-workflow.d.ts.map +1 -0
  126. package/dist/node/pi/workflows/interactive-chat-workflow.js +219 -0
  127. package/dist/node/pi/workflows/interactive-chat-workflow.js.map +1 -0
  128. package/dist/node/pi/workflows/workflow-agent-harness.d.ts +142 -0
  129. package/dist/node/pi/workflows/workflow-agent-harness.d.ts.map +1 -0
  130. package/dist/node/pi/workflows/workflow-agent-harness.js +450 -0
  131. package/dist/node/pi/workflows/workflow-agent-harness.js.map +1 -0
  132. package/dist/node/routes.d.ts +631 -0
  133. package/dist/node/routes.d.ts.map +1 -0
  134. package/dist/node/routes.js +355 -0
  135. package/dist/node/routes.js.map +1 -0
  136. package/dist/node/schema.d.ts +5 -0
  137. package/dist/node/schema.d.ts.map +1 -0
  138. package/dist/node/schema.js +7 -0
  139. package/dist/node/schema.js.map +1 -0
  140. package/package.json +175 -3
@@ -0,0 +1,130 @@
1
+ import { a as isReadableAtom, i as isStore, n as isGetHook, r as isMutatorHook, t as createPiFragmentClients } from "../clients-pIAk6ClP.js";
2
+ import { atom } from "nanostores";
3
+ import { createEffect, onCleanup } from "solid-js";
4
+ import { createStore, reconcile } from "solid-js/store";
5
+ //#region ../../node_modules/.pnpm/@nanostores+solid@1.1.1_nanostores@1.3.0_solid-js@1.9.13/node_modules/@nanostores/solid/dist/index.js
6
+ function m(e, o = {}) {
7
+ let t = e.listen(() => {}), [r, s] = createStore({ value: e.get() }), n = e.subscribe((i) => {
8
+ s("value", reconcile(i, o));
9
+ });
10
+ return onCleanup(() => n()), t(), () => r.value;
11
+ }
12
+ //#endregion
13
+ //#region ../fragno/dist/client/solid.js
14
+ /**
15
+ * Type guard to check if a value is a SolidJS Accessor.
16
+ *
17
+ * @private
18
+ */
19
+ function isAccessor(value) {
20
+ return typeof value === "function";
21
+ }
22
+ /**
23
+ * Converts a SolidJS Accessor to a NanoStore Atom.
24
+ *
25
+ * This is used to convert SolidJS accessors to atoms, so that we can use them in the store.
26
+ *
27
+ * @private
28
+ */
29
+ function accessorToAtom(accessor) {
30
+ const a = atom(accessor());
31
+ createEffect(() => {
32
+ a.set(accessor());
33
+ });
34
+ return a;
35
+ }
36
+ function createSolidHook(hook) {
37
+ return ({ path, query } = {}) => {
38
+ const pathParams = {};
39
+ const queryParams = {};
40
+ for (const [key, value] of Object.entries(path ?? {})) {
41
+ const v = value;
42
+ pathParams[key] = isAccessor(v) ? accessorToAtom(v) : v;
43
+ }
44
+ for (const [key, value] of Object.entries(query ?? {})) {
45
+ const v = value;
46
+ queryParams[key] = isAccessor(v) ? accessorToAtom(v) : v;
47
+ }
48
+ const storeValue = m(hook.store({
49
+ path: pathParams,
50
+ query: queryParams
51
+ }));
52
+ return {
53
+ data: () => storeValue().data,
54
+ loading: () => storeValue().loading,
55
+ error: () => storeValue().error
56
+ };
57
+ };
58
+ }
59
+ function createSolidMutator(hook) {
60
+ return () => {
61
+ const store = m(hook.mutatorStore);
62
+ const mutate = async (args) => {
63
+ const { body, path, query } = args;
64
+ const pathParams = {};
65
+ const queryParams = {};
66
+ for (const [key, value] of Object.entries(path ?? {})) {
67
+ const v = value;
68
+ pathParams[key] = isAccessor(v) ? v() : v;
69
+ }
70
+ for (const [key, value] of Object.entries(query ?? {})) {
71
+ const v = value;
72
+ queryParams[key] = isAccessor(v) ? v() : v;
73
+ }
74
+ return hook.mutatorStore.mutate({
75
+ body,
76
+ path: pathParams,
77
+ query: queryParams
78
+ });
79
+ };
80
+ return {
81
+ mutate,
82
+ data: () => store().data,
83
+ loading: () => store().loading,
84
+ error: () => store().error
85
+ };
86
+ };
87
+ }
88
+ function unwrapSolidStoreValue(value) {
89
+ if (isReadableAtom(value)) return m(value);
90
+ const entries = Object.keys(value).map((key) => {
91
+ const fieldValue = value[key];
92
+ return [key, isReadableAtom(fieldValue) ? m(fieldValue) : fieldValue];
93
+ });
94
+ return Object.fromEntries(entries);
95
+ }
96
+ function createSolidStore(hook) {
97
+ if ("obj" in hook) {
98
+ if (isReadableAtom(hook.obj)) return m(hook.obj);
99
+ return () => unwrapSolidStoreValue(hook.obj);
100
+ }
101
+ return (...args) => {
102
+ const value = hook.factory(...args);
103
+ const disposer = value[Symbol.dispose];
104
+ if (typeof disposer === "function") onCleanup(() => {
105
+ disposer.call(value);
106
+ });
107
+ return unwrapSolidStoreValue(value);
108
+ };
109
+ }
110
+ function useFragno(clientObj) {
111
+ const result = {};
112
+ for (const key in clientObj) {
113
+ if (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;
114
+ const hook = clientObj[key];
115
+ if (isGetHook(hook)) result[key] = createSolidHook(hook);
116
+ else if (isMutatorHook(hook)) result[key] = createSolidMutator(hook);
117
+ else if (isStore(hook)) result[key] = createSolidStore(hook);
118
+ else result[key] = hook;
119
+ }
120
+ return result;
121
+ }
122
+ //#endregion
123
+ //#region src/client/solid.ts
124
+ function createPiFragmentClient(config = {}) {
125
+ return useFragno(createPiFragmentClients(config));
126
+ }
127
+ //#endregion
128
+ export { createPiFragmentClient };
129
+
130
+ //# sourceMappingURL=solid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid.js","names":["createStore","c","reconcile","u","onCleanup","S","m","e","o","t","listen","r","s","value","get","n","subscribe","i","useStore","isReadableAtom","isGetHook","isMutatorHook","isStore","atom","createEffect","onCleanup","useStore","isAccessor","value","accessorToAtom","accessor","a","set","createSolidHook","hook","path","query","pathParams","queryParams","key","Object","entries","v","storeValue","store","data","loading","error","createSolidMutator","mutatorStore","mutate","args","body","unwrapSolidStoreValue","keys","map","fieldValue","fromEntries","createSolidStore","obj","factory","disposer","Symbol","dispose","call","useFragno","clientObj","result","prototype","hasOwnProperty","useFragno","createPiFragmentClients","PiFragmentClientConfig","createPiFragmentClient","config"],"sources":["../../../../../node_modules/.pnpm/@nanostores+solid@1.1.1_nanostores@1.3.0_solid-js@1.9.13/node_modules/@nanostores/solid/dist/index.js","../../../../fragno/dist/client/solid.js","../../../src/client/solid.ts"],"sourcesContent":["import{createStore as c,reconcile as u}from\"solid-js/store\";import{onCleanup as S}from\"solid-js\";function m(e,o={}){let t=e.listen(()=>{}),[r,s]=c({value:e.get()}),n=e.subscribe(i=>{s(\"value\",u(i,o))});return S(()=>n()),t(),()=>r.value}export{m as useStore};\n","import { isReadableAtom } from \"../util/nanostores.js\";\nimport { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { atom } from \"nanostores\";\nimport { createEffect, onCleanup } from \"solid-js\";\nimport { useStore } from \"@nanostores/solid\";\n//#region src/client/solid.ts\n/**\n* Type guard to check if a value is a SolidJS Accessor.\n*\n* @private\n*/\nfunction isAccessor(value) {\n\treturn typeof value === \"function\";\n}\n/**\n* Converts a SolidJS Accessor to a NanoStore Atom.\n*\n* This is used to convert SolidJS accessors to atoms, so that we can use them in the store.\n*\n* @private\n*/\nfunction accessorToAtom(accessor) {\n\tconst a = atom(accessor());\n\tcreateEffect(() => {\n\t\ta.set(accessor());\n\t});\n\treturn a;\n}\nfunction createSolidHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParams = {};\n\t\tconst queryParams = {};\n\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\tconst v = value;\n\t\t\tpathParams[key] = isAccessor(v) ? accessorToAtom(v) : v;\n\t\t}\n\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\tconst v = value;\n\t\t\tqueryParams[key] = isAccessor(v) ? accessorToAtom(v) : v;\n\t\t}\n\t\tconst storeValue = useStore(hook.store({\n\t\t\tpath: pathParams,\n\t\t\tquery: queryParams\n\t\t}));\n\t\treturn {\n\t\t\tdata: () => storeValue().data,\n\t\t\tloading: () => storeValue().loading,\n\t\t\terror: () => storeValue().error\n\t\t};\n\t};\n}\nfunction createSolidMutator(hook) {\n\treturn () => {\n\t\tconst store = useStore(hook.mutatorStore);\n\t\tconst mutate = async (args) => {\n\t\t\tconst { body, path, query } = args;\n\t\t\tconst pathParams = {};\n\t\t\tconst queryParams = {};\n\t\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tpathParams[key] = isAccessor(v) ? v() : v;\n\t\t\t}\n\t\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tqueryParams[key] = isAccessor(v) ? v() : v;\n\t\t\t}\n\t\t\treturn hook.mutatorStore.mutate({\n\t\t\t\tbody,\n\t\t\t\tpath: pathParams,\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\tmutate,\n\t\t\tdata: () => store().data,\n\t\t\tloading: () => store().loading,\n\t\t\terror: () => store().error\n\t\t};\n\t};\n}\nfunction unwrapSolidStoreValue(value) {\n\tif (isReadableAtom(value)) return useStore(value);\n\tconst entries = Object.keys(value).map((key) => {\n\t\tconst fieldValue = value[key];\n\t\treturn [key, isReadableAtom(fieldValue) ? useStore(fieldValue) : fieldValue];\n\t});\n\treturn Object.fromEntries(entries);\n}\nfunction createSolidStore(hook) {\n\tif (\"obj\" in hook) {\n\t\tif (isReadableAtom(hook.obj)) return useStore(hook.obj);\n\t\treturn (() => unwrapSolidStoreValue(hook.obj));\n\t}\n\treturn ((...args) => {\n\t\tconst value = hook.factory(...args);\n\t\tconst disposer = value[Symbol.dispose];\n\t\tif (typeof disposer === \"function\") onCleanup(() => {\n\t\t\tdisposer.call(value);\n\t\t});\n\t\treturn unwrapSolidStoreValue(value);\n\t});\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createSolidHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createSolidMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createSolidStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\n//#endregion\nexport { accessorToAtom, isAccessor, useFragno };\n\n//# sourceMappingURL=solid.js.map","import { useFragno } from \"@fragno-dev/core/solid\";\n\nimport { createPiFragmentClients, type PiFragmentClientConfig } from \"./clients\";\n\nexport function createPiFragmentClient(config: PiFragmentClientConfig = {}) {\n return useFragno(createPiFragmentClients(config));\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ import { _ as QueryParamsHint, d as NonGetHTTPMethod, g as MaybeExtractPathParamsOrWiden, p as InferOr } from "../types-Dk856kV1.js";
2
+ import { o as FragnoClientRequestError, t as PiFragmentClientConfig } from "../clients-DYXj19je.js";
3
+ import { d as PiHarnessFrontendAgentMessage } from "../agent-harness-event-protocol-d6mH_9n3.js";
4
+ import { ReadableAtom } from "nanostores";
5
+ import { Readable } from "svelte/store";
6
+ import { StandardSchemaV1 } from "@standard-schema/spec";
7
+ //#region ../fragno/dist/client/client.svelte.d.ts
8
+ //#region src/client/client.svelte.d.ts
9
+ type FragnoSvelteHook<_TMethod extends "GET", TPath extends string, TOutputSchema extends StandardSchemaV1, TErrorCode extends string, TQueryParameters extends string> = (args?: {
10
+ path?: MaybeExtractPathParamsOrWiden<TPath, string | Readable<string> | ReadableAtom<string>> | (() => string);
11
+ query?: QueryParamsHint<TQueryParameters, string | Readable<string> | ReadableAtom<string> | (() => string)>;
12
+ }) => {
13
+ data: Readable<InferOr<TOutputSchema, undefined>>;
14
+ loading: Readable<boolean>;
15
+ error: Readable<FragnoClientRequestError<TErrorCode[number]> | undefined>;
16
+ };
17
+ type FragnoSvelteMutator<_TMethod extends NonGetHTTPMethod, TPath extends string, TInputSchema extends StandardSchemaV1 | undefined, TOutputSchema extends StandardSchemaV1 | undefined, TErrorCode extends string, TQueryParameters extends string> = () => {
18
+ mutate: (args: {
19
+ body?: InferOr<TInputSchema, undefined>;
20
+ path?: MaybeExtractPathParamsOrWiden<TPath, string | Readable<string> | ReadableAtom<string> | (() => string)>;
21
+ query?: QueryParamsHint<TQueryParameters, string | Readable<string> | ReadableAtom<string> | (() => string)>;
22
+ }) => Promise<InferOr<TOutputSchema, undefined>>;
23
+ loading: Readable<boolean | undefined>;
24
+ error: Readable<FragnoClientRequestError<TErrorCode[number]> | undefined>;
25
+ data: Readable<InferOr<TOutputSchema, undefined>>;
26
+ };
27
+ //#endregion
28
+ //#region src/client/svelte.d.ts
29
+ declare function createPiFragmentClient(config?: PiFragmentClientConfig): {
30
+ useSessions: FragnoSvelteHook<"GET", "/workflows/:workflowName/sessions", import("zod").ZodArray<import("zod").ZodObject<{
31
+ id: import("zod").ZodString;
32
+ name: import("zod").ZodNullable<import("zod").ZodString>;
33
+ metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
34
+ workflowName: import("zod").ZodString;
35
+ createdAt: import("zod").ZodDate;
36
+ updatedAt: import("zod").ZodDate;
37
+ }, import("zod/v4/core").$strip>>, "SESSION_DATA_INTEGRITY_ERROR", "limit">;
38
+ useSessionDetail: FragnoSvelteHook<"GET", "/workflows/:workflowName/sessions/:sessionId", import("zod").ZodObject<{
39
+ id: import("zod").ZodString;
40
+ name: import("zod").ZodNullable<import("zod").ZodString>;
41
+ metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
42
+ workflowName: import("zod").ZodString;
43
+ createdAt: import("zod").ZodDate;
44
+ updatedAt: import("zod").ZodDate;
45
+ workflow: import("zod").ZodObject<{
46
+ status: import("zod").ZodEnum<{
47
+ active: "active";
48
+ paused: "paused";
49
+ errored: "errored";
50
+ terminated: "terminated";
51
+ complete: "complete";
52
+ waiting: "waiting";
53
+ }>;
54
+ error: import("zod").ZodOptional<import("zod").ZodObject<{
55
+ name: import("zod").ZodString;
56
+ message: import("zod").ZodString;
57
+ }, import("zod/v4/core").$strip>>;
58
+ output: import("zod").ZodOptional<import("zod").ZodAny>;
59
+ }, import("zod/v4/core").$strip>;
60
+ agent: import("zod").ZodObject<{
61
+ state: import("zod").ZodObject<{
62
+ messages: import("zod").ZodArray<import("zod").ZodType<PiHarnessFrontendAgentMessage, unknown, import("zod/v4/core").$ZodTypeInternals<PiHarnessFrontendAgentMessage, unknown>>>;
63
+ }, import("zod/v4/core").$strip>;
64
+ }, import("zod/v4/core").$strip>;
65
+ }, import("zod/v4/core").$strip>, "SESSION_DATA_INTEGRITY_ERROR" | "SESSION_NOT_FOUND" | "SESSION_DATA_UNAVAILABLE" | "WORKFLOW_INSTANCE_MISSING", string>;
66
+ useCreateSession: FragnoSvelteMutator<NonGetHTTPMethod, "/workflows/:workflowName/sessions", import("@standard-schema/spec").StandardSchemaV1<unknown, unknown> | import("zod").ZodObject<{
67
+ name: import("zod").ZodOptional<import("zod").ZodString>;
68
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
69
+ input: import("zod").ZodOptional<import("zod").ZodUnknown>;
70
+ }, import("zod/v4/core").$strip> | undefined, import("zod").ZodObject<{
71
+ id: import("zod").ZodString;
72
+ name: import("zod").ZodNullable<import("zod").ZodString>;
73
+ metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
74
+ workflowName: import("zod").ZodString;
75
+ createdAt: import("zod").ZodDate;
76
+ updatedAt: import("zod").ZodDate;
77
+ }, import("zod/v4/core").$strip> | import("zod").ZodArray<import("zod").ZodObject<{
78
+ id: import("zod").ZodString;
79
+ name: import("zod").ZodNullable<import("zod").ZodString>;
80
+ metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
81
+ workflowName: import("zod").ZodString;
82
+ createdAt: import("zod").ZodDate;
83
+ updatedAt: import("zod").ZodDate;
84
+ }, import("zod/v4/core").$strip>> | undefined, "WORKFLOW_NOT_FOUND" | "WORKFLOW_PARAMS_INVALID" | "WORKFLOW_CREATE_FAILED" | "SESSION_DATA_INTEGRITY_ERROR", string>;
85
+ useCommandSession: FragnoSvelteMutator<NonGetHTTPMethod, "/workflows/:workflowName/sessions/:sessionId/command", import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
86
+ kind: import("zod").ZodLiteral<"prompt">;
87
+ input: import("zod").ZodObject<{
88
+ text: import("zod").ZodString;
89
+ images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
90
+ type: import("zod").ZodLiteral<"image">;
91
+ data: import("zod").ZodBase64;
92
+ mimeType: import("zod").ZodString;
93
+ }, import("zod/v4/core").$strip>>>;
94
+ }, import("zod/v4/core").$strip>;
95
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
96
+ kind: import("zod").ZodLiteral<"skill">;
97
+ input: import("zod").ZodObject<{
98
+ name: import("zod").ZodString;
99
+ additionalInstructions: import("zod").ZodOptional<import("zod").ZodString>;
100
+ }, import("zod/v4/core").$strip>;
101
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
102
+ kind: import("zod").ZodLiteral<"promptFromTemplate">;
103
+ input: import("zod").ZodObject<{
104
+ name: import("zod").ZodString;
105
+ args: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
106
+ }, import("zod/v4/core").$strip>;
107
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
108
+ kind: import("zod").ZodLiteral<"compact">;
109
+ input: import("zod").ZodObject<{
110
+ customInstructions: import("zod").ZodOptional<import("zod").ZodString>;
111
+ }, import("zod/v4/core").$strip>;
112
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
113
+ kind: import("zod").ZodLiteral<"abort">;
114
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
115
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
116
+ kind: import("zod").ZodLiteral<"steer">;
117
+ input: import("zod").ZodObject<{
118
+ text: import("zod").ZodString;
119
+ images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
120
+ type: import("zod").ZodLiteral<"image">;
121
+ data: import("zod").ZodBase64;
122
+ mimeType: import("zod").ZodString;
123
+ }, import("zod/v4/core").$strip>>>;
124
+ }, import("zod/v4/core").$strip>;
125
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
126
+ kind: import("zod").ZodLiteral<"followUp">;
127
+ input: import("zod").ZodObject<{
128
+ text: import("zod").ZodString;
129
+ images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
130
+ type: import("zod").ZodLiteral<"image">;
131
+ data: import("zod").ZodBase64;
132
+ mimeType: import("zod").ZodString;
133
+ }, import("zod/v4/core").$strip>>>;
134
+ }, import("zod/v4/core").$strip>;
135
+ }, import("zod/v4/core").$strip>], "kind"> | undefined, import("zod").ZodObject<{
136
+ accepted: import("zod").ZodLiteral<true>;
137
+ commandId: import("zod").ZodString;
138
+ status: import("zod").ZodEnum<{
139
+ active: "active";
140
+ paused: "paused";
141
+ errored: "errored";
142
+ terminated: "terminated";
143
+ complete: "complete";
144
+ waiting: "waiting";
145
+ }>;
146
+ }, import("zod/v4/core").$strip> | undefined, "SESSION_NOT_FOUND" | "WORKFLOW_INSTANCE_MISSING", string>;
147
+ };
148
+ //#endregion
149
+ export { createPiFragmentClient };
150
+ //# sourceMappingURL=svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte.d.ts","names":[],"sources":["../../../../fragno/dist/client/client.svelte.d.ts","../../../src/client/svelte.ts"],"mappings":";;;;;;;;KASK,iBAAiB,wBAAwB,sBAAsB,sBAAsB,kBAAkB,2BAA2B,oCAAoC;EACzK,OAAO,8BAA8B,gBAAgB,mBAAmB;EACxE,QAAQ,gBAAgB,2BAA2B,mBAAmB;;EAEtE,MAAM,SAAS,QAAQ;EACvB,SAAS;EACT,OAAO,SAAS,yBAAyB;;KAEtC,oBAAoB,iBAAiB,kBAAkB,sBAAsB,qBAAqB,8BAA8B,sBAAsB,8BAA8B,2BAA2B;EAClN,SAAS;IACP,OAAO,QAAQ;IACf,OAAO,8BAA8B,gBAAgB,mBAAmB;IACxE,QAAQ,gBAAgB,2BAA2B,mBAAmB;QAClE,QAAQ,QAAQ;EACtB,SAAS;EACT,OAAO,SAAS,yBAAyB;EACzC,MAAM,SAAS,QAAQ;;;;iBCrBT,uBAAuB,SAAQ;eAAA"}
@@ -0,0 +1,132 @@
1
+ import { i as isStore, n as isGetHook, r as isMutatorHook, t as createPiFragmentClients } from "../clients-pIAk6ClP.js";
2
+ import { atom } from "nanostores";
3
+ import { onDestroy } from "svelte";
4
+ import { get, writable } from "svelte/store";
5
+ //#region ../fragno/dist/client/client.svelte.js
6
+ function isReadable(value) {
7
+ return typeof value === "object" && value !== null && "subscribe" in value;
8
+ }
9
+ function isCallable(value) {
10
+ return typeof value === "function";
11
+ }
12
+ function readableToAtom(value) {
13
+ const a = atom(get(value));
14
+ value.subscribe((newVal) => {
15
+ a.set(newVal);
16
+ });
17
+ return a;
18
+ }
19
+ function runeToAtom(value) {
20
+ const a = atom(value());
21
+ $effect(() => {
22
+ a.set(value());
23
+ });
24
+ return a;
25
+ }
26
+ function createSvelteHook(hook) {
27
+ return ({ path, query } = {}) => {
28
+ const pathParams = {};
29
+ const queryParams = {};
30
+ for (const [key, value] of Object.entries(path ?? {})) {
31
+ const v = value;
32
+ if (isCallable(v)) pathParams[key] = runeToAtom(v);
33
+ else pathParams[key] = isReadable(v) ? readableToAtom(v) : v;
34
+ }
35
+ for (const [key, value] of Object.entries(query ?? {})) {
36
+ const v = value;
37
+ if (isCallable(v)) queryParams[key] = runeToAtom(v);
38
+ else queryParams[key] = isReadable(v) ? readableToAtom(v) : v;
39
+ }
40
+ const store = hook.store({
41
+ path: pathParams,
42
+ query: queryParams
43
+ });
44
+ const data = writable(void 0);
45
+ const loading = writable(false);
46
+ const error = writable(void 0);
47
+ const unsubscribe = store.subscribe((updatedStoreValue) => {
48
+ data.set(updatedStoreValue.data);
49
+ loading.set(updatedStoreValue.loading);
50
+ error.set(updatedStoreValue.error);
51
+ });
52
+ onDestroy(() => {
53
+ unsubscribe();
54
+ });
55
+ return {
56
+ data,
57
+ loading,
58
+ error
59
+ };
60
+ };
61
+ }
62
+ function createSvelteMutator(hook) {
63
+ return () => {
64
+ const data = writable(void 0);
65
+ const loading = writable(void 0);
66
+ const error = writable(void 0);
67
+ const unsubscribe = hook.mutatorStore.subscribe((storeValue) => {
68
+ data.set(storeValue.data);
69
+ loading.set(storeValue.loading);
70
+ error.set(storeValue.error);
71
+ });
72
+ onDestroy(() => {
73
+ unsubscribe();
74
+ });
75
+ const mutate = async (args) => {
76
+ const { body, path, query } = args;
77
+ const pathParams = {};
78
+ const queryParams = {};
79
+ for (const [key, value] of Object.entries(path ?? {})) {
80
+ const v = value;
81
+ pathParams[key] = isReadable(v) ? readableToAtom(v) : v;
82
+ }
83
+ for (const [key, value] of Object.entries(query ?? {})) {
84
+ const v = value;
85
+ queryParams[key] = isReadable(v) ? readableToAtom(v) : v;
86
+ }
87
+ return hook.mutatorStore.mutate({
88
+ body,
89
+ path: pathParams,
90
+ query: queryParams
91
+ });
92
+ };
93
+ return {
94
+ mutate,
95
+ loading,
96
+ error,
97
+ data
98
+ };
99
+ };
100
+ }
101
+ function createSvelteStore(hook) {
102
+ if ("obj" in hook) return hook.obj;
103
+ return (...args) => {
104
+ const value = hook.factory(...args);
105
+ const disposer = value[Symbol.dispose];
106
+ if (typeof disposer === "function") onDestroy(() => {
107
+ disposer.call(value);
108
+ });
109
+ return value;
110
+ };
111
+ }
112
+ function useFragno(clientObj) {
113
+ const result = {};
114
+ for (const key in clientObj) {
115
+ if (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;
116
+ const hook = clientObj[key];
117
+ if (isGetHook(hook)) result[key] = createSvelteHook(hook);
118
+ else if (isMutatorHook(hook)) result[key] = createSvelteMutator(hook);
119
+ else if (isStore(hook)) result[key] = createSvelteStore(hook);
120
+ else result[key] = hook;
121
+ }
122
+ return result;
123
+ }
124
+ //#endregion
125
+ //#region src/client/svelte.ts
126
+ function createPiFragmentClient(config = {}) {
127
+ return useFragno(createPiFragmentClients(config));
128
+ }
129
+ //#endregion
130
+ export { createPiFragmentClient };
131
+
132
+ //# sourceMappingURL=svelte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte.js","names":["isGetHook","isMutatorHook","isStore","atom","onDestroy","get","writable","isReadable","value","isCallable","readableToAtom","a","subscribe","newVal","set","runeToAtom","$effect","createSvelteHook","hook","path","query","pathParams","queryParams","key","Object","entries","v","store","data","loading","error","unsubscribe","updatedStoreValue","createSvelteMutator","mutatorStore","storeValue","mutate","args","body","createSvelteStore","obj","factory","disposer","Symbol","dispose","call","useFragno","clientObj","result","prototype","hasOwnProperty","useFragno","createPiFragmentClients","PiFragmentClientConfig","createPiFragmentClient","config"],"sources":["../../../../fragno/dist/client/client.svelte.js","../../../src/client/svelte.ts"],"sourcesContent":["import { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { atom } from \"nanostores\";\nimport { onDestroy } from \"svelte\";\nimport { get, writable } from \"svelte/store\";\n//#region src/client/client.svelte.ts\nfunction isReadable(value) {\n\treturn typeof value === \"object\" && value !== null && \"subscribe\" in value;\n}\nfunction isCallable(value) {\n\treturn typeof value === \"function\";\n}\nfunction readableToAtom(value) {\n\tconst a = atom(get(value));\n\tvalue.subscribe((newVal) => {\n\t\ta.set(newVal);\n\t});\n\treturn a;\n}\nfunction runeToAtom(value) {\n\tconst a = atom(value());\n\t$effect(() => {\n\t\ta.set(value());\n\t});\n\treturn a;\n}\nfunction createSvelteHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParams = {};\n\t\tconst queryParams = {};\n\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) pathParams[key] = runeToAtom(v);\n\t\t\telse pathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) queryParams[key] = runeToAtom(v);\n\t\t\telse queryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tconst store = hook.store({\n\t\t\tpath: pathParams,\n\t\t\tquery: queryParams\n\t\t});\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(false);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = store.subscribe((updatedStoreValue) => {\n\t\t\tdata.set(updatedStoreValue.data);\n\t\t\tloading.set(updatedStoreValue.loading);\n\t\t\terror.set(updatedStoreValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\treturn {\n\t\t\tdata,\n\t\t\tloading,\n\t\t\terror\n\t\t};\n\t};\n}\nfunction createSvelteMutator(hook) {\n\treturn () => {\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(void 0);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = hook.mutatorStore.subscribe((storeValue) => {\n\t\t\tdata.set(storeValue.data);\n\t\t\tloading.set(storeValue.loading);\n\t\t\terror.set(storeValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\tconst mutate = async (args) => {\n\t\t\tconst { body, path, query } = args;\n\t\t\tconst pathParams = {};\n\t\t\tconst queryParams = {};\n\t\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tpathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tqueryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\treturn hook.mutatorStore.mutate({\n\t\t\t\tbody,\n\t\t\t\tpath: pathParams,\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\tmutate,\n\t\t\tloading,\n\t\t\terror,\n\t\t\tdata\n\t\t};\n\t};\n}\nfunction createSvelteStore(hook) {\n\tif (\"obj\" in hook) return hook.obj;\n\treturn ((...args) => {\n\t\tconst value = hook.factory(...args);\n\t\tconst disposer = value[Symbol.dispose];\n\t\tif (typeof disposer === \"function\") onDestroy(() => {\n\t\t\tdisposer.call(value);\n\t\t});\n\t\treturn value;\n\t});\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createSvelteHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createSvelteMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createSvelteStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\n//#endregion\nexport { createSvelteStore, readableToAtom, runeToAtom, useFragno };\n\n//# sourceMappingURL=client.svelte.js.map","import { useFragno } from \"@fragno-dev/core/svelte\";\n\nimport { createPiFragmentClients, type PiFragmentClientConfig } from \"./clients\";\n\nexport function createPiFragmentClient(config: PiFragmentClientConfig = {}) {\n return useFragno(createPiFragmentClients(config));\n}\n"],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ import { d as NonGetHTTPMethod, g as MaybeExtractPathParamsOrWiden, h as HasPathParams, m as ExtractPathParamsOrWiden, p as InferOr } from "../types-Dk856kV1.js";
2
+ import { o as FragnoClientRequestError, t as PiFragmentClientConfig } from "../clients-DYXj19je.js";
3
+ import { d as PiHarnessFrontendAgentMessage } from "../agent-harness-event-protocol-d6mH_9n3.js";
4
+ import { ReadableAtom } from "nanostores";
5
+ import { StandardSchemaV1 } from "@standard-schema/spec";
6
+ //#region ../fragno/dist/client/vanilla.d.ts
7
+ //#region src/client/vanilla.d.ts
8
+ type StoreData<TOutputSchema extends StandardSchemaV1 | undefined, TErrorCodes extends string> = {
9
+ loading: boolean;
10
+ error?: FragnoClientRequestError<TErrorCodes>;
11
+ data?: InferOr<TOutputSchema, undefined>;
12
+ };
13
+ type FragnoVanillaListeners<_TMethod extends "GET", TPath extends string, TOutputSchema extends StandardSchemaV1, TErrorCode extends string, TQueryParameters extends string> = (args?: {
14
+ path?: MaybeExtractPathParamsOrWiden<TPath, string | ReadableAtom<string>>;
15
+ query?: Record<TQueryParameters, string | ReadableAtom<string>>;
16
+ }) => {
17
+ /** Called for every change in the store. */
18
+ listen: (callback: (value: StoreData<TOutputSchema, TErrorCode[number]>) => void) => () => void;
19
+ /** Called once initially, then called for every change in the store. */
20
+ subscribe: (callback: (value: StoreData<TOutputSchema, TErrorCode[number]>) => void) => () => void;
21
+ get: () => StoreData<TOutputSchema, TErrorCode[number]>;
22
+ refetch: () => void;
23
+ /**
24
+ * Produces an item for every change in the store.
25
+ * Note: the iterator does NOT return.
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const store = useFragno(clientObj).store;
30
+ * for await (const value of store[Symbol.asyncIterator]()) {
31
+ * console.log(value);
32
+ * }
33
+ * ```
34
+ */
35
+ [Symbol.asyncIterator]: () => AsyncGenerator<StoreData<TOutputSchema, TErrorCode[number]>, void, unknown>;
36
+ };
37
+ type FragnoVanillaMutator<_TMethod extends NonGetHTTPMethod, TPath extends string, TInputSchema extends StandardSchemaV1 | undefined, TOutputSchema extends StandardSchemaV1 | undefined, TErrorCode extends string, TQueryParameters extends string> = (args?: {
38
+ path?: MaybeExtractPathParamsOrWiden<TPath, string | ReadableAtom<string>>;
39
+ query?: Record<TQueryParameters, string | ReadableAtom<string>>;
40
+ }) => {
41
+ subscribe: (callback: (value: {
42
+ loading: boolean;
43
+ error?: FragnoClientRequestError<TErrorCode[number]>;
44
+ data?: InferOr<TOutputSchema, undefined>;
45
+ }) => void) => () => void;
46
+ get: () => StoreData<TOutputSchema, TErrorCode[number]>;
47
+ mutate: ({ body, path, query }: {
48
+ body?: InferOr<TInputSchema, undefined>;
49
+ path?: HasPathParams<TPath> extends true ? ExtractPathParamsOrWiden<TPath, string | ReadableAtom<string>> : undefined;
50
+ query?: Record<string, string | ReadableAtom<string>>;
51
+ }) => Promise<InferOr<TOutputSchema, undefined>>;
52
+ [Symbol.asyncIterator]: () => AsyncGenerator<StoreData<TOutputSchema, TErrorCode[number]>, void, unknown>;
53
+ };
54
+ //#endregion
55
+ //#region src/client/vanilla.d.ts
56
+ declare function createPiFragmentClient(config?: PiFragmentClientConfig): {
57
+ useSessions: FragnoVanillaListeners<"GET", "/workflows/:workflowName/sessions", import("zod").ZodArray<import("zod").ZodObject<{
58
+ id: import("zod").ZodString;
59
+ name: import("zod").ZodNullable<import("zod").ZodString>;
60
+ metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
61
+ workflowName: import("zod").ZodString;
62
+ createdAt: import("zod").ZodDate;
63
+ updatedAt: import("zod").ZodDate;
64
+ }, import("zod/v4/core").$strip>>, "SESSION_DATA_INTEGRITY_ERROR", "limit">;
65
+ useSessionDetail: FragnoVanillaListeners<"GET", "/workflows/:workflowName/sessions/:sessionId", import("zod").ZodObject<{
66
+ id: import("zod").ZodString;
67
+ name: import("zod").ZodNullable<import("zod").ZodString>;
68
+ metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
69
+ workflowName: import("zod").ZodString;
70
+ createdAt: import("zod").ZodDate;
71
+ updatedAt: import("zod").ZodDate;
72
+ workflow: import("zod").ZodObject<{
73
+ status: import("zod").ZodEnum<{
74
+ active: "active";
75
+ paused: "paused";
76
+ errored: "errored";
77
+ terminated: "terminated";
78
+ complete: "complete";
79
+ waiting: "waiting";
80
+ }>;
81
+ error: import("zod").ZodOptional<import("zod").ZodObject<{
82
+ name: import("zod").ZodString;
83
+ message: import("zod").ZodString;
84
+ }, import("zod/v4/core").$strip>>;
85
+ output: import("zod").ZodOptional<import("zod").ZodAny>;
86
+ }, import("zod/v4/core").$strip>;
87
+ agent: import("zod").ZodObject<{
88
+ state: import("zod").ZodObject<{
89
+ messages: import("zod").ZodArray<import("zod").ZodType<PiHarnessFrontendAgentMessage, unknown, import("zod/v4/core").$ZodTypeInternals<PiHarnessFrontendAgentMessage, unknown>>>;
90
+ }, import("zod/v4/core").$strip>;
91
+ }, import("zod/v4/core").$strip>;
92
+ }, import("zod/v4/core").$strip>, "SESSION_DATA_INTEGRITY_ERROR" | "SESSION_NOT_FOUND" | "SESSION_DATA_UNAVAILABLE" | "WORKFLOW_INSTANCE_MISSING", string>;
93
+ useCreateSession: FragnoVanillaMutator<NonGetHTTPMethod, "/workflows/:workflowName/sessions", import("@standard-schema/spec").StandardSchemaV1<unknown, unknown> | import("zod").ZodObject<{
94
+ name: import("zod").ZodOptional<import("zod").ZodString>;
95
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
96
+ input: import("zod").ZodOptional<import("zod").ZodUnknown>;
97
+ }, import("zod/v4/core").$strip> | undefined, import("zod").ZodObject<{
98
+ id: import("zod").ZodString;
99
+ name: import("zod").ZodNullable<import("zod").ZodString>;
100
+ metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
101
+ workflowName: import("zod").ZodString;
102
+ createdAt: import("zod").ZodDate;
103
+ updatedAt: import("zod").ZodDate;
104
+ }, import("zod/v4/core").$strip> | import("zod").ZodArray<import("zod").ZodObject<{
105
+ id: import("zod").ZodString;
106
+ name: import("zod").ZodNullable<import("zod").ZodString>;
107
+ metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
108
+ workflowName: import("zod").ZodString;
109
+ createdAt: import("zod").ZodDate;
110
+ updatedAt: import("zod").ZodDate;
111
+ }, import("zod/v4/core").$strip>> | undefined, "WORKFLOW_NOT_FOUND" | "WORKFLOW_PARAMS_INVALID" | "WORKFLOW_CREATE_FAILED" | "SESSION_DATA_INTEGRITY_ERROR", string>;
112
+ useCommandSession: FragnoVanillaMutator<NonGetHTTPMethod, "/workflows/:workflowName/sessions/:sessionId/command", import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
113
+ kind: import("zod").ZodLiteral<"prompt">;
114
+ input: import("zod").ZodObject<{
115
+ text: import("zod").ZodString;
116
+ images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
117
+ type: import("zod").ZodLiteral<"image">;
118
+ data: import("zod").ZodBase64;
119
+ mimeType: import("zod").ZodString;
120
+ }, import("zod/v4/core").$strip>>>;
121
+ }, import("zod/v4/core").$strip>;
122
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
123
+ kind: import("zod").ZodLiteral<"skill">;
124
+ input: import("zod").ZodObject<{
125
+ name: import("zod").ZodString;
126
+ additionalInstructions: import("zod").ZodOptional<import("zod").ZodString>;
127
+ }, import("zod/v4/core").$strip>;
128
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
129
+ kind: import("zod").ZodLiteral<"promptFromTemplate">;
130
+ input: import("zod").ZodObject<{
131
+ name: import("zod").ZodString;
132
+ args: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
133
+ }, import("zod/v4/core").$strip>;
134
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
135
+ kind: import("zod").ZodLiteral<"compact">;
136
+ input: import("zod").ZodObject<{
137
+ customInstructions: import("zod").ZodOptional<import("zod").ZodString>;
138
+ }, import("zod/v4/core").$strip>;
139
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
140
+ kind: import("zod").ZodLiteral<"abort">;
141
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
142
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
143
+ kind: import("zod").ZodLiteral<"steer">;
144
+ input: import("zod").ZodObject<{
145
+ text: import("zod").ZodString;
146
+ images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
147
+ type: import("zod").ZodLiteral<"image">;
148
+ data: import("zod").ZodBase64;
149
+ mimeType: import("zod").ZodString;
150
+ }, import("zod/v4/core").$strip>>>;
151
+ }, import("zod/v4/core").$strip>;
152
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
153
+ kind: import("zod").ZodLiteral<"followUp">;
154
+ input: import("zod").ZodObject<{
155
+ text: import("zod").ZodString;
156
+ images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
157
+ type: import("zod").ZodLiteral<"image">;
158
+ data: import("zod").ZodBase64;
159
+ mimeType: import("zod").ZodString;
160
+ }, import("zod/v4/core").$strip>>>;
161
+ }, import("zod/v4/core").$strip>;
162
+ }, import("zod/v4/core").$strip>], "kind"> | undefined, import("zod").ZodObject<{
163
+ accepted: import("zod").ZodLiteral<true>;
164
+ commandId: import("zod").ZodString;
165
+ status: import("zod").ZodEnum<{
166
+ active: "active";
167
+ paused: "paused";
168
+ errored: "errored";
169
+ terminated: "terminated";
170
+ complete: "complete";
171
+ waiting: "waiting";
172
+ }>;
173
+ }, import("zod/v4/core").$strip> | undefined, "SESSION_NOT_FOUND" | "WORKFLOW_INSTANCE_MISSING", string>;
174
+ };
175
+ //#endregion
176
+ export { createPiFragmentClient };
177
+ //# sourceMappingURL=vanilla.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vanilla.d.ts","names":[],"sources":["../../../../fragno/dist/client/vanilla.d.ts","../../../src/client/vanilla.ts"],"mappings":";;;;;;;KAQK,UAAU,sBAAsB,8BAA8B;EACjE;EACA,QAAQ,yBAAyB;EACjC,OAAO,QAAQ;;KAEZ,uBAAuB,wBAAwB,sBAAsB,sBAAsB,kBAAkB,2BAA2B,oCAAoC;EAC/K,OAAO,8BAA8B,gBAAgB;EACrD,QAAQ,OAAO,2BAA2B;;;EAG1C,SAAS,WAAW,OAAO,UAAU,eAAe;;EAEpD,YAAY,WAAW,OAAO,UAAU,eAAe;EACvD,WAAW,UAAU,eAAe;EACpC;;;;;;;;;;;;;GAaC,OAAO,sBAAsB,eAAe,UAAU,eAAe;;KAEnE,qBAAqB,iBAAiB,kBAAkB,sBAAsB,qBAAqB,8BAA8B,sBAAsB,8BAA8B,2BAA2B,oCAAoC;EACvP,OAAO,8BAA8B,gBAAgB;EACrD,QAAQ,OAAO,2BAA2B;;EAE1C,YAAY,WAAW;IACrB;IACA,QAAQ,yBAAyB;IACjC,OAAO,QAAQ;;EAEjB,WAAW,UAAU,eAAe;EACpC,WAAW,MAAM,MAAM;IACrB,OAAO,QAAQ;IACf,OAAO,cAAc,sBAAsB,yBAAyB,gBAAgB;IACpF,QAAQ,wBAAwB;QAC5B,QAAQ,QAAQ;GACrB,OAAO,sBAAsB,eAAe,UAAU,eAAe;;;;iBChDxD,uBAAuB,SAAQ;eAAA"}