agency-lang 0.7.0 → 0.7.2

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 (182) hide show
  1. package/dist/lib/agents/agency-agent/agent.agency +169 -28
  2. package/dist/lib/agents/agency-agent/agent.js +579 -152
  3. package/dist/lib/agents/agency-agent/lib/attachments.js +2 -2
  4. package/dist/lib/agents/agency-agent/lib/config.agency +5 -0
  5. package/dist/lib/agents/agency-agent/lib/config.js +11 -0
  6. package/dist/lib/agents/agency-agent/lib/defaultPolicy.agency +106 -0
  7. package/dist/lib/agents/agency-agent/lib/defaultPolicy.js +764 -3
  8. package/dist/lib/agents/agency-agent/lib/modelFilters.js +1 -1
  9. package/dist/lib/agents/agency-agent/lib/resolution.js +4 -4
  10. package/dist/lib/agents/agency-agent/lib/search.js +3 -3
  11. package/dist/lib/agents/agency-agent/lib/settings.js +1 -1
  12. package/dist/lib/agents/agency-agent/lib/utils.js +1 -1
  13. package/dist/lib/agents/agency-agent/shared.agency +22 -0
  14. package/dist/lib/agents/agency-agent/shared.js +160 -3
  15. package/dist/lib/agents/agency-agent/subagents/code.js +1 -1
  16. package/dist/lib/agents/agency-agent/subagents/explorer.js +1 -1
  17. package/dist/lib/agents/agency-agent/subagents/oracle.js +1 -1
  18. package/dist/lib/agents/agency-agent/subagents/research.js +1 -1
  19. package/dist/lib/agents/agency-agent/subagents/review.js +4 -4
  20. package/dist/lib/agents/agency-agent/tests/agentTurn.js +1 -1
  21. package/dist/lib/agents/agency-agent/tests/attachments.js +1 -1
  22. package/dist/lib/agents/agency-agent/tests/attachmentsTurn.js +2 -2
  23. package/dist/lib/agents/agency-agent/tests/gitPolicy.js +3 -3
  24. package/dist/lib/agents/agency-agent/tests/oneShotRounds.agency +20 -0
  25. package/dist/lib/agents/agency-agent/tests/oneShotRounds.js +555 -0
  26. package/dist/lib/agents/agency-agent/tests/oneShotRounds.test.json +9 -0
  27. package/dist/lib/agents/review/agent.js +3 -3
  28. package/dist/lib/cli/doctor.d.ts +8 -0
  29. package/dist/lib/cli/doctor.js +21 -13
  30. package/dist/lib/cli/doctor.test.js +34 -0
  31. package/dist/lib/cli/help.js +1 -5
  32. package/dist/lib/cli/runBundledAgent.d.ts +17 -1
  33. package/dist/lib/cli/runBundledAgent.js +73 -2
  34. package/dist/lib/cli/runBundledAgent.test.d.ts +1 -0
  35. package/dist/lib/cli/runBundledAgent.test.js +96 -0
  36. package/dist/lib/config.d.ts +42 -33
  37. package/dist/lib/config.js +108 -6
  38. package/dist/lib/config.test.js +121 -2
  39. package/dist/lib/ir/prettyPrint.js +25 -4
  40. package/dist/lib/parseCache.js +8 -13
  41. package/dist/lib/parseCache.test.js +5 -8
  42. package/dist/lib/parser.js +5 -12
  43. package/dist/lib/preprocessors/typescriptPreprocessor.d.ts +0 -28
  44. package/dist/lib/preprocessors/typescriptPreprocessor.js +0 -245
  45. package/dist/lib/runtime/configOverrides.d.ts +17 -16
  46. package/dist/lib/runtime/configOverrides.js +27 -16
  47. package/dist/lib/runtime/configOverrides.test.js +116 -2
  48. package/dist/lib/runtime/prompt.js +7 -3
  49. package/dist/lib/runtime/runner.d.ts +2 -2
  50. package/dist/lib/runtime/runner.js +26 -7
  51. package/dist/lib/runtime/state/context.js +9 -2
  52. package/dist/lib/stdlib/llm.d.ts +1 -0
  53. package/dist/lib/stdlib/version.d.ts +1 -1
  54. package/dist/lib/stdlib/version.js +1 -1
  55. package/dist/scripts/agency.d.ts +2 -0
  56. package/dist/scripts/agency.js +55 -12
  57. package/dist/scripts/agency.test.js +73 -1
  58. package/package.json +1 -1
  59. package/stdlib/agency/eval.js +1 -1
  60. package/stdlib/agency.js +1 -1
  61. package/stdlib/agent.agency +9 -9
  62. package/stdlib/agent.js +5 -5
  63. package/stdlib/data/tech/hackernews.js +1 -1
  64. package/stdlib/index.js +15 -15
  65. package/stdlib/llm.agency +2 -1
  66. package/stdlib/llm.js +3 -3
  67. package/stdlib/markdown.js +1 -1
  68. package/stdlib/memory.js +2 -2
  69. package/stdlib/object.js +5 -5
  70. package/stdlib/policy.agency +21 -7
  71. package/stdlib/policy.js +45 -16
  72. package/stdlib/skills.js +1 -1
  73. package/stdlib/strategy.js +3 -3
  74. package/stdlib/thread.js +3 -3
  75. package/stdlib/ui/chart.js +2 -2
  76. package/stdlib/ui/cli.agency +1 -1
  77. package/stdlib/ui/cli.js +1 -1
  78. package/stdlib/ui/layout.js +3 -3
  79. package/stdlib/ui/table.js +2 -2
  80. package/stdlib/ui.js +3 -3
  81. package/dist/lib/agents/docs/cli/cli/agent.md +0 -16
  82. package/dist/lib/agents/docs/cli/cli/compile.md +0 -21
  83. package/dist/lib/agents/docs/cli/cli/coverage.md +0 -112
  84. package/dist/lib/agents/docs/cli/cli/debug.md +0 -41
  85. package/dist/lib/agents/docs/cli/cli/doc.md +0 -98
  86. package/dist/lib/agents/docs/cli/cli/editor-integration.md +0 -44
  87. package/dist/lib/agents/docs/cli/cli/eval-judge.md +0 -72
  88. package/dist/lib/agents/docs/cli/cli/eval.md +0 -194
  89. package/dist/lib/agents/docs/cli/cli/format.md +0 -23
  90. package/dist/lib/agents/docs/cli/cli/index.md +0 -7
  91. package/dist/lib/agents/docs/cli/cli/local.md +0 -92
  92. package/dist/lib/agents/docs/cli/cli/models.md +0 -63
  93. package/dist/lib/agents/docs/cli/cli/optimize.md +0 -338
  94. package/dist/lib/agents/docs/cli/cli/pack.md +0 -56
  95. package/dist/lib/agents/docs/cli/cli/policy.md +0 -23
  96. package/dist/lib/agents/docs/cli/cli/preprocess-and-ast.md +0 -21
  97. package/dist/lib/agents/docs/cli/cli/review.md +0 -16
  98. package/dist/lib/agents/docs/cli/cli/run.md +0 -79
  99. package/dist/lib/agents/docs/cli/cli/schedule.md +0 -89
  100. package/dist/lib/agents/docs/cli/cli/serve.md +0 -52
  101. package/dist/lib/agents/docs/cli/cli/test.md +0 -44
  102. package/dist/lib/agents/docs/cli/cli/trace-and-bundle.md +0 -75
  103. package/dist/lib/agents/docs/cli/cli/typecheck.md +0 -19
  104. package/dist/lib/agents/docs/guide/guide/advanced-types.md +0 -26
  105. package/dist/lib/agents/docs/guide/guide/agency-config-file.md +0 -212
  106. package/dist/lib/agents/docs/guide/guide/agency-packages.md +0 -54
  107. package/dist/lib/agents/docs/guide/guide/agency-stdlib.md +0 -14
  108. package/dist/lib/agents/docs/guide/guide/agency-vs-typescript.md +0 -33
  109. package/dist/lib/agents/docs/guide/guide/attachments.md +0 -56
  110. package/dist/lib/agents/docs/guide/guide/basic-syntax.md +0 -350
  111. package/dist/lib/agents/docs/guide/guide/blocks.md +0 -134
  112. package/dist/lib/agents/docs/guide/guide/build-integration.md +0 -99
  113. package/dist/lib/agents/docs/guide/guide/builtins.md +0 -84
  114. package/dist/lib/agents/docs/guide/guide/callbacks.md +0 -169
  115. package/dist/lib/agents/docs/guide/guide/checkpointing.md +0 -101
  116. package/dist/lib/agents/docs/guide/guide/cli-args.md +0 -190
  117. package/dist/lib/agents/docs/guide/guide/common-functions.md +0 -36
  118. package/dist/lib/agents/docs/guide/guide/compiling-and-running.md +0 -62
  119. package/dist/lib/agents/docs/guide/guide/concurrency.md +0 -108
  120. package/dist/lib/agents/docs/guide/guide/cross-thread-context.md +0 -226
  121. package/dist/lib/agents/docs/guide/guide/custom-providers.md +0 -195
  122. package/dist/lib/agents/docs/guide/guide/debugging.md +0 -67
  123. package/dist/lib/agents/docs/guide/guide/developer-tools.md +0 -90
  124. package/dist/lib/agents/docs/guide/guide/effects-and-raises.md +0 -137
  125. package/dist/lib/agents/docs/guide/guide/effects.md +0 -100
  126. package/dist/lib/agents/docs/guide/guide/error-handling.md +0 -161
  127. package/dist/lib/agents/docs/guide/guide/exercise-1.md +0 -32
  128. package/dist/lib/agents/docs/guide/guide/functions.md +0 -94
  129. package/dist/lib/agents/docs/guide/guide/getting-started.md +0 -35
  130. package/dist/lib/agents/docs/guide/guide/global-var-initialization.md +0 -70
  131. package/dist/lib/agents/docs/guide/guide/global-vs-static.md +0 -76
  132. package/dist/lib/agents/docs/guide/guide/guards.md +0 -134
  133. package/dist/lib/agents/docs/guide/guide/handlers.md +0 -196
  134. package/dist/lib/agents/docs/guide/guide/image-generation.md +0 -113
  135. package/dist/lib/agents/docs/guide/guide/imports-and-packages.md +0 -100
  136. package/dist/lib/agents/docs/guide/guide/interrupts-from-typescript.md +0 -84
  137. package/dist/lib/agents/docs/guide/guide/interrupts-part-2.md +0 -54
  138. package/dist/lib/agents/docs/guide/guide/interrupts.md +0 -139
  139. package/dist/lib/agents/docs/guide/guide/llm-part-2.md +0 -111
  140. package/dist/lib/agents/docs/guide/guide/llm.md +0 -109
  141. package/dist/lib/agents/docs/guide/guide/mcp.md +0 -295
  142. package/dist/lib/agents/docs/guide/guide/memory.md +0 -401
  143. package/dist/lib/agents/docs/guide/guide/message-threads.md +0 -111
  144. package/dist/lib/agents/docs/guide/guide/nodes.md +0 -50
  145. package/dist/lib/agents/docs/guide/guide/observability.md +0 -99
  146. package/dist/lib/agents/docs/guide/guide/partial-application.md +0 -96
  147. package/dist/lib/agents/docs/guide/guide/pattern-matching.md +0 -366
  148. package/dist/lib/agents/docs/guide/guide/policies.md +0 -67
  149. package/dist/lib/agents/docs/guide/guide/schema-parameter-injection.md +0 -101
  150. package/dist/lib/agents/docs/guide/guide/schemas.md +0 -99
  151. package/dist/lib/agents/docs/guide/guide/serving.md +0 -165
  152. package/dist/lib/agents/docs/guide/guide/state-isolation.md +0 -139
  153. package/dist/lib/agents/docs/guide/guide/streaming.md +0 -28
  154. package/dist/lib/agents/docs/guide/guide/tags.md +0 -72
  155. package/dist/lib/agents/docs/guide/guide/testing.md +0 -187
  156. package/dist/lib/agents/docs/guide/guide/troubleshooting.md +0 -86
  157. package/dist/lib/agents/docs/guide/guide/ts-helpers.md +0 -559
  158. package/dist/lib/agents/docs/guide/guide/ts-interop.md +0 -72
  159. package/dist/lib/agents/docs/guide/guide/type-validation.md +0 -187
  160. package/dist/lib/agents/docs/guide/guide/types.md +0 -181
  161. package/dist/lib/agents/docs/guide/guide/unused.md +0 -178
  162. package/dist/lib/agents/docs/guide/guide/unused2.md +0 -258
  163. package/dist/lib/agents/docs/guide/guide/value-parameterized-types.md +0 -186
  164. package/dist/lib/agents/docs/guide/guide/vscode-extension.md +0 -33
  165. package/dist/lib/agents/docs/guide/guide/why-agency.md +0 -323
  166. package/dist/lib/preprocessors/typescriptPreprocessor.config.test.js +0 -327
  167. package/stdlib/browser.js +0 -421
  168. package/stdlib/chart.js +0 -983
  169. package/stdlib/cli.js +0 -1116
  170. package/stdlib/email.js +0 -1104
  171. package/stdlib/imessage.js +0 -377
  172. package/stdlib/keyring.js +0 -803
  173. package/stdlib/layout.js +0 -3657
  174. package/stdlib/oauth.js +0 -862
  175. package/stdlib/schemas.js +0 -223
  176. package/stdlib/search.js +0 -629
  177. package/stdlib/sms.js +0 -419
  178. package/stdlib/table.js +0 -1419
  179. package/stdlib/threads.js +0 -1041
  180. package/stdlib/types.js +0 -222
  181. package/stdlib/validators.js +0 -1606
  182. /package/dist/lib/{preprocessors/typescriptPreprocessor.config.test.d.ts → cli/doctor.test.d.ts} +0 -0
package/stdlib/keyring.js DELETED
@@ -1,803 +0,0 @@
1
- import { print, printJSON, parseJSON, input, sleep, round, read, write, readImage, notify, range, mostCommon, keys, values, entries, emit, callback } from "agency-lang/stdlib/index.js";
2
- import { _setSecret, _getSecret, _deleteSecret, _isKeyringAvailable } from "agency-lang/stdlib-lib/keyring.js";
3
- import { fileURLToPath } from "url";
4
- import __process from "process";
5
- import { z } from "agency-lang/zod";
6
- import { nanoid } from "agency-lang";
7
- import path from "path";
8
- import {
9
- RuntimeContext,
10
- Runner,
11
- setupFunction,
12
- callHook,
13
- checkpoint as __checkpoint_impl,
14
- getCheckpoint as __getCheckpoint_impl,
15
- restore as __restore_impl,
16
- _run as __runtime_run_impl,
17
- interrupt,
18
- isInterrupt,
19
- hasInterrupts,
20
- isDebugger,
21
- isRejected,
22
- isApproved,
23
- interruptWithHandlers,
24
- respondToInterrupts as _respondToInterrupts,
25
- rewindFrom as _rewindFrom,
26
- runExportedFunction as _runExportedFunction,
27
- RestoreSignal,
28
- AgencyAbort,
29
- __registerGlobalsInit,
30
- failure,
31
- isFailure,
32
- __tryCall,
33
- AgencyFunction as __AgencyFunction,
34
- UNSET as __UNSET,
35
- __call,
36
- __stateStack,
37
- __globals,
38
- getRuntimeContext,
39
- agencyStore,
40
- functionRefReviver as __functionRefReviver,
41
- DeterministicClient as __DeterministicClient,
42
- createLogger as __createLogger
43
- } from "agency-lang/runtime";
44
- const __filename = fileURLToPath(import.meta.url);
45
- const __dirname = path.dirname(__filename);
46
- const __cwd = __process.cwd();
47
- const getDirname = () => __dirname;
48
- const __globalCtx = new RuntimeContext({
49
- statelogConfig: {
50
- host: "https://statelog.adit.io",
51
- apiKey: __process.env["STATELOG_API_KEY"] || "",
52
- projectId: "agency-lang",
53
- debugMode: false,
54
- observability: true,
55
- logFile: "log.jsonl"
56
- },
57
- smoltalkDefaults: {
58
- apiKey: {
59
- openAi: __process.env["OPENAI_API_KEY"] || "",
60
- google: __process.env["GEMINI_API_KEY"] || "",
61
- anthropic: __process.env["ANTHROPIC_API_KEY"] || "",
62
- openRouter: __process.env["OPENROUTER_API_KEY"] || "",
63
- deepInfra: __process.env["DEEPINFRA_API_KEY"] || "",
64
- liteLlm: __process.env["LITELLM_API_KEY"] || "",
65
- openAiCompat: __process.env["OPENAI_COMPAT_API_KEY"] || ""
66
- },
67
- baseUrl: {
68
- liteLlm: __process.env["LITELLM_BASE_URL"] || "",
69
- openAiCompat: __process.env["OPENAI_COMPAT_BASE_URL"] || ""
70
- },
71
- model: "gpt-4o-mini",
72
- logLevel: "warn",
73
- statelog: {
74
- host: "https://statelog.adit.io",
75
- projectId: "smoltalk",
76
- apiKey: __process.env["STATELOG_SMOLTALK_API_KEY"] || "",
77
- traceId: nanoid()
78
- }
79
- },
80
- dirname: __dirname,
81
- logLevel: "info",
82
- traceConfig: {
83
- program: "stdlib/keyring.agency"
84
- }
85
- });
86
- const graph = __globalCtx.graph;
87
- function approve(value) {
88
- return { type: "approve", value };
89
- }
90
- function reject(value) {
91
- return { type: "reject", value };
92
- }
93
- function propagate() {
94
- return { type: "propagate" };
95
- }
96
- const respondToInterrupts = (interrupts, responses, opts) => _respondToInterrupts({ ctx: __globalCtx, interrupts, responses, overrides: opts?.overrides, metadata: opts?.metadata, registerTopLevelCallbacks: __registerTopLevelCallbacks, moduleDir: __dirname });
97
- const rewindFrom = (checkpoint2, overrides, opts) => _rewindFrom({ ctx: __globalCtx, checkpoint: checkpoint2, overrides, metadata: opts?.metadata, registerTopLevelCallbacks: __registerTopLevelCallbacks, moduleDir: __dirname });
98
- const __invokeFunction = (fn, namedArgs) => _runExportedFunction({ ctx: __globalCtx, fn, namedArgs, initializeGlobals: __initializeGlobals, registerTopLevelCallbacks: __registerTopLevelCallbacks, moduleDir: __dirname });
99
- const __setDebugger = (dbg) => {
100
- __globalCtx.debuggerState = dbg;
101
- };
102
- const __setTraceFile = (filePath) => {
103
- __globalCtx.traceConfig.traceFile = filePath;
104
- };
105
- const __setLLMClient = (client) => {
106
- __globalCtx.setLLMClient(client);
107
- };
108
- const __getCheckpoints = () => __globalCtx.checkpoints;
109
- if (__process.env.AGENCY_LLM_MOCKS) {
110
- __globalCtx.setLLMClient(
111
- new __DeterministicClient(JSON.parse(__process.env.AGENCY_LLM_MOCKS))
112
- );
113
- }
114
- const __toolRegistry = __functionRefReviver.registry ??= {};
115
- function __registerTool(value, _aliasName) {
116
- if (__AgencyFunction.isAgencyFunction(value)) {
117
- __toolRegistry[`${value.module}:${value.name}`] = value;
118
- }
119
- }
120
- const checkpoint = __AgencyFunction.create({ name: "checkpoint", module: "__runtime", fn: __checkpoint_impl, params: [], toolDefinition: null }, __toolRegistry);
121
- const getCheckpoint = __AgencyFunction.create({ name: "getCheckpoint", module: "__runtime", fn: __getCheckpoint_impl, params: [{ name: "checkpointId", hasDefault: false, defaultValue: void 0, variadic: false }], toolDefinition: null }, __toolRegistry);
122
- const restore = __AgencyFunction.create({ name: "restore", module: "__runtime", fn: __restore_impl, params: [{ name: "checkpointIdOrCheckpoint", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "options", hasDefault: false, defaultValue: void 0, variadic: false }], toolDefinition: null }, __toolRegistry);
123
- const _run = __AgencyFunction.create({ name: "_run", module: "__runtime", fn: __runtime_run_impl, params: [{ name: "compiled", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "node", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "args", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "wallClock", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "memory", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "ipcPayload", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "stdout", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "configOverrides", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "cwd", hasDefault: false, defaultValue: void 0, variadic: false }], toolDefinition: null }, __toolRegistry);
124
- function setLLMClient(client) {
125
- __globalCtx.setLLMClient(client);
126
- }
127
- function registerTools(tools) {
128
- for (const tool of tools) {
129
- if (__AgencyFunction.isAgencyFunction(tool)) {
130
- __toolRegistry[`${tool.module}:${tool.name}`] = tool;
131
- }
132
- }
133
- }
134
- __registerTool(print);
135
- __registerTool(printJSON);
136
- __registerTool(parseJSON);
137
- __registerTool(input);
138
- __registerTool(sleep);
139
- __registerTool(round);
140
- __registerTool(read);
141
- __registerTool(write);
142
- __registerTool(readImage);
143
- __registerTool(notify);
144
- __registerTool(range);
145
- __registerTool(mostCommon);
146
- __registerTool(keys);
147
- __registerTool(values);
148
- __registerTool(entries);
149
- __registerTool(emit);
150
- __registerTool(callback);
151
- async function __initializeGlobals(__ctx) {
152
- if (__ctx.globals.isInitialized("stdlib/keyring.agency")) {
153
- return;
154
- }
155
- __ctx.globals.markInitialized("stdlib/keyring.agency");
156
- }
157
- __registerGlobalsInit("stdlib/keyring.agency", __initializeGlobals);
158
- async function __registerTopLevelCallbacks(__ctx) {
159
- __ctx.topLevelCallbacks = [];
160
- }
161
- __functionRefReviver.registry = __toolRegistry;
162
- async function __setSecret_impl(key, value, service = __UNSET) {
163
- const __setupData = setupFunction();
164
- const __stack = __setupData.stack;
165
- const __step = __setupData.step;
166
- const __self = __setupData.self;
167
- const __ctx = getRuntimeContext().ctx;
168
- let __forked;
169
- let __functionCompleted = false;
170
- if (!__globals().isInitialized("stdlib/keyring.agency")) {
171
- await __initializeGlobals(__ctx);
172
- }
173
- let __funcStartTime = performance.now();
174
- __stack.args["key"] = key;
175
- __stack.args["value"] = value;
176
- __stack.args["service"] = service === __UNSET ? `agency-lang` : service;
177
- __self.__retryable = __self.__retryable ?? true;
178
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/keyring.agency", scopeName: "setSecret", threads: __setupData.threads });
179
- let __resultCheckpointId = -1;
180
- if (__ctx._pendingArgOverrides) {
181
- const __overrides = __ctx._pendingArgOverrides;
182
- __ctx._pendingArgOverrides = void 0;
183
- if ("key" in __overrides) {
184
- key = __overrides["key"];
185
- __stack.args["key"] = key;
186
- }
187
- if ("value" in __overrides) {
188
- value = __overrides["value"];
189
- __stack.args["value"] = value;
190
- }
191
- if ("service" in __overrides) {
192
- service = __overrides["service"];
193
- __stack.args["service"] = service;
194
- }
195
- }
196
- try {
197
- await agencyStore.run({
198
- ...getRuntimeContext(),
199
- ctx: __ctx,
200
- stack: __setupData.stateStack,
201
- threads: __setupData.threads
202
- }, async () => {
203
- await runner.hook(0, async () => {
204
- await callHook({
205
- name: "onFunctionStart",
206
- data: {
207
- functionName: "setSecret",
208
- args: {
209
- key,
210
- value,
211
- service
212
- },
213
- isBuiltin: false,
214
- moduleId: "stdlib/keyring.agency"
215
- }
216
- });
217
- });
218
- await runner.step(1, async (runner2) => {
219
- const __response = getRuntimeContext().ctx.getInterruptResponse(__self.__interruptId_1);
220
- if (__response) {
221
- if (__response.type === "approve") {
222
- } else if (__response.type === "reject") {
223
- runner2.halt(failure("interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
224
- return;
225
- }
226
- } else {
227
- const __handlerResult = await interruptWithHandlers("std::setSecret", `Are you sure you want to store a secret in the system keyring?`, {
228
- "key": __stack.args.key,
229
- "service": __stack.args.service
230
- }, "std::keyring", __ctx, __stateStack());
231
- if (isRejected(__handlerResult)) {
232
- runner2.halt(failure(__handlerResult.value ?? "interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
233
- return;
234
- }
235
- if (!isApproved(__handlerResult)) {
236
- __self.__interruptId_1 = __handlerResult[0].interruptId;
237
- const __checkpointId = getRuntimeContext().ctx.checkpoints.create(__stateStack(), __ctx, { moduleId: "stdlib/keyring.agency", scopeName: "setSecret", stepPath: "1" });
238
- __handlerResult[0].checkpointId = __checkpointId;
239
- __handlerResult[0].checkpoint = getRuntimeContext().ctx.checkpoints.get(__checkpointId);
240
- runner2.halt(__handlerResult);
241
- return;
242
- }
243
- }
244
- });
245
- await runner.step(2, async (runner2) => {
246
- __functionCompleted = true;
247
- runner2.halt(await __tryCall(async () => await __call(_setSecret, {
248
- type: "positional",
249
- args: [__stack.args.key, __stack.args.value, __stack.args.service]
250
- }), {
251
- checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
252
- functionName: "setSecret",
253
- args: __stack.args
254
- }));
255
- return;
256
- });
257
- });
258
- if (runner.halted) {
259
- if (isFailure(runner.haltResult)) {
260
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
261
- }
262
- return runner.haltResult;
263
- }
264
- } catch (__error) {
265
- if (__error instanceof RestoreSignal) {
266
- throw __error;
267
- }
268
- if (__error instanceof AgencyAbort) {
269
- throw __error;
270
- }
271
- {
272
- const __errMsg = __error instanceof Error ? __error.message : String(__error);
273
- const __errStack = __error instanceof Error && __error.stack ? __error.stack : "";
274
- const __log = __createLogger(__ctx.logLevel);
275
- __log.error("Function setSecret threw an exception (converted to Failure): " + __errMsg);
276
- if (__errStack) __log.error(__errStack);
277
- __ctx.statelogClient?.error?.({
278
- errorType: "runtimeError",
279
- message: __errMsg,
280
- functionName: "setSecret",
281
- retryable: __self.__retryable
282
- });
283
- }
284
- return failure(
285
- __error instanceof Error ? __error.message : String(__error),
286
- {
287
- checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
288
- retryable: __self.__retryable,
289
- functionName: "setSecret",
290
- args: __stack.args
291
- }
292
- );
293
- } finally {
294
- __stateStack()?.pop();
295
- if (__functionCompleted) {
296
- await callHook({
297
- name: "onFunctionEnd",
298
- data: {
299
- functionName: "setSecret",
300
- timeTaken: performance.now() - __funcStartTime
301
- }
302
- });
303
- }
304
- }
305
- }
306
- const setSecret = __AgencyFunction.create({
307
- name: "setSecret",
308
- module: "stdlib/keyring.agency",
309
- fn: __setSecret_impl,
310
- params: [{
311
- name: "key",
312
- hasDefault: false,
313
- defaultValue: void 0,
314
- variadic: false,
315
- isFunctionTyped: false
316
- }, {
317
- name: "value",
318
- hasDefault: false,
319
- defaultValue: void 0,
320
- variadic: false,
321
- isFunctionTyped: false
322
- }, {
323
- name: "service",
324
- hasDefault: true,
325
- defaultValue: void 0,
326
- variadic: false,
327
- isFunctionTyped: false
328
- }],
329
- toolDefinition: {
330
- name: "setSecret",
331
- description: `Store a secret in the system keyring (macOS Keychain or Linux Secret Service). The secret is stored under the given service name (default "agency-lang") with the given key. Overwrites any existing value for the same key.
332
-
333
- @param key - The secret key name
334
- @param value - The secret value
335
- @param service - The service name in the keyring`,
336
- schema: z.object({ "key": z.string(), "value": z.string(), "service": z.string().nullable().describe("Default: agency-lang") })
337
- },
338
- safe: false,
339
- exported: true
340
- }, __toolRegistry);
341
- async function __getSecret_impl(key, service = __UNSET) {
342
- const __setupData = setupFunction();
343
- const __stack = __setupData.stack;
344
- const __step = __setupData.step;
345
- const __self = __setupData.self;
346
- const __ctx = getRuntimeContext().ctx;
347
- let __forked;
348
- let __functionCompleted = false;
349
- if (!__globals().isInitialized("stdlib/keyring.agency")) {
350
- await __initializeGlobals(__ctx);
351
- }
352
- let __funcStartTime = performance.now();
353
- __stack.args["key"] = key;
354
- __stack.args["service"] = service === __UNSET ? `agency-lang` : service;
355
- __self.__retryable = __self.__retryable ?? true;
356
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/keyring.agency", scopeName: "getSecret", threads: __setupData.threads });
357
- let __resultCheckpointId = -1;
358
- if (__ctx._pendingArgOverrides) {
359
- const __overrides = __ctx._pendingArgOverrides;
360
- __ctx._pendingArgOverrides = void 0;
361
- if ("key" in __overrides) {
362
- key = __overrides["key"];
363
- __stack.args["key"] = key;
364
- }
365
- if ("service" in __overrides) {
366
- service = __overrides["service"];
367
- __stack.args["service"] = service;
368
- }
369
- }
370
- try {
371
- await agencyStore.run({
372
- ...getRuntimeContext(),
373
- ctx: __ctx,
374
- stack: __setupData.stateStack,
375
- threads: __setupData.threads
376
- }, async () => {
377
- await runner.hook(0, async () => {
378
- await callHook({
379
- name: "onFunctionStart",
380
- data: {
381
- functionName: "getSecret",
382
- args: {
383
- key,
384
- service
385
- },
386
- isBuiltin: false,
387
- moduleId: "stdlib/keyring.agency"
388
- }
389
- });
390
- });
391
- await runner.step(1, async (runner2) => {
392
- const __response = getRuntimeContext().ctx.getInterruptResponse(__self.__interruptId_1);
393
- if (__response) {
394
- if (__response.type === "approve") {
395
- } else if (__response.type === "reject") {
396
- runner2.halt(failure("interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
397
- return;
398
- }
399
- } else {
400
- const __handlerResult = await interruptWithHandlers("std::getSecret", `Are you sure you want to read a secret from the system keyring?`, {
401
- "key": __stack.args.key,
402
- "service": __stack.args.service
403
- }, "std::keyring", __ctx, __stateStack());
404
- if (isRejected(__handlerResult)) {
405
- runner2.halt(failure(__handlerResult.value ?? "interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
406
- return;
407
- }
408
- if (!isApproved(__handlerResult)) {
409
- __self.__interruptId_1 = __handlerResult[0].interruptId;
410
- const __checkpointId = getRuntimeContext().ctx.checkpoints.create(__stateStack(), __ctx, { moduleId: "stdlib/keyring.agency", scopeName: "getSecret", stepPath: "1" });
411
- __handlerResult[0].checkpointId = __checkpointId;
412
- __handlerResult[0].checkpoint = getRuntimeContext().ctx.checkpoints.get(__checkpointId);
413
- runner2.halt(__handlerResult);
414
- return;
415
- }
416
- }
417
- });
418
- await runner.step(2, async (runner2) => {
419
- __functionCompleted = true;
420
- runner2.halt(await __tryCall(async () => await __call(_getSecret, {
421
- type: "positional",
422
- args: [__stack.args.key, __stack.args.service]
423
- }), {
424
- checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
425
- functionName: "getSecret",
426
- args: __stack.args
427
- }));
428
- return;
429
- });
430
- });
431
- if (runner.halted) {
432
- if (isFailure(runner.haltResult)) {
433
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
434
- }
435
- return runner.haltResult;
436
- }
437
- } catch (__error) {
438
- if (__error instanceof RestoreSignal) {
439
- throw __error;
440
- }
441
- if (__error instanceof AgencyAbort) {
442
- throw __error;
443
- }
444
- {
445
- const __errMsg = __error instanceof Error ? __error.message : String(__error);
446
- const __errStack = __error instanceof Error && __error.stack ? __error.stack : "";
447
- const __log = __createLogger(__ctx.logLevel);
448
- __log.error("Function getSecret threw an exception (converted to Failure): " + __errMsg);
449
- if (__errStack) __log.error(__errStack);
450
- __ctx.statelogClient?.error?.({
451
- errorType: "runtimeError",
452
- message: __errMsg,
453
- functionName: "getSecret",
454
- retryable: __self.__retryable
455
- });
456
- }
457
- return failure(
458
- __error instanceof Error ? __error.message : String(__error),
459
- {
460
- checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
461
- retryable: __self.__retryable,
462
- functionName: "getSecret",
463
- args: __stack.args
464
- }
465
- );
466
- } finally {
467
- __stateStack()?.pop();
468
- if (__functionCompleted) {
469
- await callHook({
470
- name: "onFunctionEnd",
471
- data: {
472
- functionName: "getSecret",
473
- timeTaken: performance.now() - __funcStartTime
474
- }
475
- });
476
- }
477
- }
478
- }
479
- const getSecret = __AgencyFunction.create({
480
- name: "getSecret",
481
- module: "stdlib/keyring.agency",
482
- fn: __getSecret_impl,
483
- params: [{
484
- name: "key",
485
- hasDefault: false,
486
- defaultValue: void 0,
487
- variadic: false,
488
- isFunctionTyped: false
489
- }, {
490
- name: "service",
491
- hasDefault: true,
492
- defaultValue: void 0,
493
- variadic: false,
494
- isFunctionTyped: false
495
- }],
496
- toolDefinition: {
497
- name: "getSecret",
498
- description: `Retrieve a secret from the system keyring by key. Returns the secret value as a string, or null if not found. Uses the "agency-lang" service by default.
499
-
500
- @param key - The secret key name
501
- @param service - The service name in the keyring`,
502
- schema: z.object({ "key": z.string(), "service": z.string().nullable().describe("Default: agency-lang") })
503
- },
504
- safe: true,
505
- exported: true
506
- }, __toolRegistry);
507
- async function __deleteSecret_impl(key, service = __UNSET) {
508
- const __setupData = setupFunction();
509
- const __stack = __setupData.stack;
510
- const __step = __setupData.step;
511
- const __self = __setupData.self;
512
- const __ctx = getRuntimeContext().ctx;
513
- let __forked;
514
- let __functionCompleted = false;
515
- if (!__globals().isInitialized("stdlib/keyring.agency")) {
516
- await __initializeGlobals(__ctx);
517
- }
518
- let __funcStartTime = performance.now();
519
- __stack.args["key"] = key;
520
- __stack.args["service"] = service === __UNSET ? `agency-lang` : service;
521
- __self.__retryable = __self.__retryable ?? true;
522
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/keyring.agency", scopeName: "deleteSecret", threads: __setupData.threads });
523
- let __resultCheckpointId = -1;
524
- if (__ctx._pendingArgOverrides) {
525
- const __overrides = __ctx._pendingArgOverrides;
526
- __ctx._pendingArgOverrides = void 0;
527
- if ("key" in __overrides) {
528
- key = __overrides["key"];
529
- __stack.args["key"] = key;
530
- }
531
- if ("service" in __overrides) {
532
- service = __overrides["service"];
533
- __stack.args["service"] = service;
534
- }
535
- }
536
- try {
537
- await agencyStore.run({
538
- ...getRuntimeContext(),
539
- ctx: __ctx,
540
- stack: __setupData.stateStack,
541
- threads: __setupData.threads
542
- }, async () => {
543
- await runner.hook(0, async () => {
544
- await callHook({
545
- name: "onFunctionStart",
546
- data: {
547
- functionName: "deleteSecret",
548
- args: {
549
- key,
550
- service
551
- },
552
- isBuiltin: false,
553
- moduleId: "stdlib/keyring.agency"
554
- }
555
- });
556
- });
557
- await runner.step(1, async (runner2) => {
558
- const __response = getRuntimeContext().ctx.getInterruptResponse(__self.__interruptId_1);
559
- if (__response) {
560
- if (__response.type === "approve") {
561
- } else if (__response.type === "reject") {
562
- runner2.halt(failure("interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
563
- return;
564
- }
565
- } else {
566
- const __handlerResult = await interruptWithHandlers("std::deleteSecret", `Are you sure you want to delete a secret from the system keyring?`, {
567
- "key": __stack.args.key,
568
- "service": __stack.args.service
569
- }, "std::keyring", __ctx, __stateStack());
570
- if (isRejected(__handlerResult)) {
571
- runner2.halt(failure(__handlerResult.value ?? "interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
572
- return;
573
- }
574
- if (!isApproved(__handlerResult)) {
575
- __self.__interruptId_1 = __handlerResult[0].interruptId;
576
- const __checkpointId = getRuntimeContext().ctx.checkpoints.create(__stateStack(), __ctx, { moduleId: "stdlib/keyring.agency", scopeName: "deleteSecret", stepPath: "1" });
577
- __handlerResult[0].checkpointId = __checkpointId;
578
- __handlerResult[0].checkpoint = getRuntimeContext().ctx.checkpoints.get(__checkpointId);
579
- runner2.halt(__handlerResult);
580
- return;
581
- }
582
- }
583
- });
584
- await runner.step(2, async (runner2) => {
585
- __functionCompleted = true;
586
- runner2.halt(await __tryCall(async () => await __call(_deleteSecret, {
587
- type: "positional",
588
- args: [__stack.args.key, __stack.args.service]
589
- }), {
590
- checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
591
- functionName: "deleteSecret",
592
- args: __stack.args
593
- }));
594
- return;
595
- });
596
- });
597
- if (runner.halted) {
598
- if (isFailure(runner.haltResult)) {
599
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
600
- }
601
- return runner.haltResult;
602
- }
603
- } catch (__error) {
604
- if (__error instanceof RestoreSignal) {
605
- throw __error;
606
- }
607
- if (__error instanceof AgencyAbort) {
608
- throw __error;
609
- }
610
- {
611
- const __errMsg = __error instanceof Error ? __error.message : String(__error);
612
- const __errStack = __error instanceof Error && __error.stack ? __error.stack : "";
613
- const __log = __createLogger(__ctx.logLevel);
614
- __log.error("Function deleteSecret threw an exception (converted to Failure): " + __errMsg);
615
- if (__errStack) __log.error(__errStack);
616
- __ctx.statelogClient?.error?.({
617
- errorType: "runtimeError",
618
- message: __errMsg,
619
- functionName: "deleteSecret",
620
- retryable: __self.__retryable
621
- });
622
- }
623
- return failure(
624
- __error instanceof Error ? __error.message : String(__error),
625
- {
626
- checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
627
- retryable: __self.__retryable,
628
- functionName: "deleteSecret",
629
- args: __stack.args
630
- }
631
- );
632
- } finally {
633
- __stateStack()?.pop();
634
- if (__functionCompleted) {
635
- await callHook({
636
- name: "onFunctionEnd",
637
- data: {
638
- functionName: "deleteSecret",
639
- timeTaken: performance.now() - __funcStartTime
640
- }
641
- });
642
- }
643
- }
644
- }
645
- const deleteSecret = __AgencyFunction.create({
646
- name: "deleteSecret",
647
- module: "stdlib/keyring.agency",
648
- fn: __deleteSecret_impl,
649
- params: [{
650
- name: "key",
651
- hasDefault: false,
652
- defaultValue: void 0,
653
- variadic: false,
654
- isFunctionTyped: false
655
- }, {
656
- name: "service",
657
- hasDefault: true,
658
- defaultValue: void 0,
659
- variadic: false,
660
- isFunctionTyped: false
661
- }],
662
- toolDefinition: {
663
- name: "deleteSecret",
664
- description: `Delete a secret from the system keyring. Returns true if deleted, false if the key did not exist.
665
-
666
- @param key - The secret key name
667
- @param service - The service name in the keyring`,
668
- schema: z.object({ "key": z.string(), "service": z.string().nullable().describe("Default: agency-lang") })
669
- },
670
- safe: false,
671
- exported: true
672
- }, __toolRegistry);
673
- async function __isKeyringAvailable_impl() {
674
- const __setupData = setupFunction();
675
- const __stack = __setupData.stack;
676
- const __step = __setupData.step;
677
- const __self = __setupData.self;
678
- const __ctx = getRuntimeContext().ctx;
679
- let __forked;
680
- let __functionCompleted = false;
681
- if (!__globals().isInitialized("stdlib/keyring.agency")) {
682
- await __initializeGlobals(__ctx);
683
- }
684
- let __funcStartTime = performance.now();
685
- __self.__retryable = __self.__retryable ?? true;
686
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/keyring.agency", scopeName: "isKeyringAvailable", threads: __setupData.threads });
687
- let __resultCheckpointId = -1;
688
- if (__ctx._pendingArgOverrides) {
689
- const __overrides = __ctx._pendingArgOverrides;
690
- __ctx._pendingArgOverrides = void 0;
691
- }
692
- try {
693
- await agencyStore.run({
694
- ...getRuntimeContext(),
695
- ctx: __ctx,
696
- stack: __setupData.stateStack,
697
- threads: __setupData.threads
698
- }, async () => {
699
- await runner.hook(0, async () => {
700
- await callHook({
701
- name: "onFunctionStart",
702
- data: {
703
- functionName: "isKeyringAvailable",
704
- args: {},
705
- isBuiltin: false,
706
- moduleId: "stdlib/keyring.agency"
707
- }
708
- });
709
- });
710
- await runner.step(1, async (runner2) => {
711
- __functionCompleted = true;
712
- runner2.halt(await __call(_isKeyringAvailable, {
713
- type: "positional",
714
- args: []
715
- }));
716
- return;
717
- });
718
- });
719
- if (runner.halted) {
720
- if (isFailure(runner.haltResult)) {
721
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
722
- }
723
- return runner.haltResult;
724
- }
725
- } catch (__error) {
726
- if (__error instanceof RestoreSignal) {
727
- throw __error;
728
- }
729
- if (__error instanceof AgencyAbort) {
730
- throw __error;
731
- }
732
- {
733
- const __errMsg = __error instanceof Error ? __error.message : String(__error);
734
- const __errStack = __error instanceof Error && __error.stack ? __error.stack : "";
735
- const __log = __createLogger(__ctx.logLevel);
736
- __log.error("Function isKeyringAvailable threw an exception (converted to Failure): " + __errMsg);
737
- if (__errStack) __log.error(__errStack);
738
- __ctx.statelogClient?.error?.({
739
- errorType: "runtimeError",
740
- message: __errMsg,
741
- functionName: "isKeyringAvailable",
742
- retryable: __self.__retryable
743
- });
744
- }
745
- return failure(
746
- __error instanceof Error ? __error.message : String(__error),
747
- {
748
- checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
749
- retryable: __self.__retryable,
750
- functionName: "isKeyringAvailable",
751
- args: __stack.args
752
- }
753
- );
754
- } finally {
755
- __stateStack()?.pop();
756
- if (__functionCompleted) {
757
- await callHook({
758
- name: "onFunctionEnd",
759
- data: {
760
- functionName: "isKeyringAvailable",
761
- timeTaken: performance.now() - __funcStartTime
762
- }
763
- });
764
- }
765
- }
766
- }
767
- const isKeyringAvailable = __AgencyFunction.create({
768
- name: "isKeyringAvailable",
769
- module: "stdlib/keyring.agency",
770
- fn: __isKeyringAvailable_impl,
771
- params: [],
772
- toolDefinition: {
773
- name: "isKeyringAvailable",
774
- description: `Check if the system keyring is available on this platform. Returns true on macOS (Keychain) and Linux (with secret-tool installed), false otherwise.`,
775
- schema: z.object({})
776
- },
777
- safe: true,
778
- exported: true
779
- }, __toolRegistry);
780
- var stdin_default = graph;
781
- const __sourceMap = { "stdlib/keyring.agency:setSecret": { "1": { "line": 36, "col": 2 }, "2": { "line": 41, "col": 2 } }, "stdlib/keyring.agency:getSecret": { "1": { "line": 51, "col": 2 }, "2": { "line": 56, "col": 2 } }, "stdlib/keyring.agency:deleteSecret": { "1": { "line": 66, "col": 2 }, "2": { "line": 71, "col": 2 } }, "stdlib/keyring.agency:isKeyringAvailable": { "1": { "line": 78, "col": 2 } } };
782
- export {
783
- __getCheckpoints,
784
- __invokeFunction,
785
- __setDebugger,
786
- __setLLMClient,
787
- __setTraceFile,
788
- __sourceMap,
789
- __toolRegistry,
790
- approve,
791
- stdin_default as default,
792
- deleteSecret,
793
- getSecret,
794
- hasInterrupts,
795
- interrupt,
796
- isDebugger,
797
- isInterrupt,
798
- isKeyringAvailable,
799
- reject,
800
- respondToInterrupts,
801
- rewindFrom,
802
- setSecret
803
- };