@inkeep/agents-api 0.42.0 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/.well-known/workflow/v1/manifest.debug.json +6 -6
  2. package/dist/.well-known/workflow/v1/step.cjs +220467 -203416
  3. package/dist/_virtual/rolldown_runtime.js +7 -0
  4. package/dist/createApp.js +47 -17
  5. package/dist/domains/evals/api/.well-known/workflow/v1/flow.d.ts +4 -0
  6. package/dist/domains/evals/api/.well-known/workflow/v1/flow.js +12 -0
  7. package/dist/domains/evals/api/.well-known/workflow/v1/step.d.ts +4 -0
  8. package/dist/domains/evals/api/.well-known/workflow/v1/step.js +12 -0
  9. package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
  10. package/dist/domains/evals/routes/index.d.ts +2 -2
  11. package/dist/domains/evals/scripts/build-workflow.js +2 -2
  12. package/dist/domains/evals/workflow/world.js +3 -2
  13. package/dist/domains/manage/index.js +6 -2
  14. package/dist/domains/manage/routes/agent.js +7 -4
  15. package/dist/domains/manage/routes/agentFull.js +9 -6
  16. package/dist/domains/manage/routes/apiKeys.js +1 -2
  17. package/dist/domains/manage/routes/artifactComponents.js +5 -5
  18. package/dist/domains/manage/routes/cliAuth.js +3 -3
  19. package/dist/domains/manage/routes/contextConfigs.js +5 -5
  20. package/dist/domains/manage/routes/conversations.d.ts +2 -2
  21. package/dist/domains/manage/routes/credentialStores.js +2 -2
  22. package/dist/domains/manage/routes/credentials.js +6 -7
  23. package/dist/domains/manage/routes/dataComponents.js +6 -7
  24. package/dist/domains/manage/routes/externalAgents.js +1 -2
  25. package/dist/domains/manage/routes/github.d.ts +16 -0
  26. package/dist/domains/manage/routes/github.js +511 -0
  27. package/dist/domains/manage/routes/index.d.ts +2 -2
  28. package/dist/domains/manage/routes/index.js +4 -0
  29. package/dist/domains/manage/routes/invitations.js +1 -1
  30. package/dist/domains/manage/routes/mcp.d.ts +2 -2
  31. package/dist/domains/manage/routes/{agentToolRelations.d.ts → mcpToolGithubAccess.d.ts} +1 -1
  32. package/dist/domains/manage/routes/mcpToolGithubAccess.js +205 -0
  33. package/dist/domains/manage/routes/playgroundToken.js +1 -2
  34. package/dist/domains/manage/routes/projectFull.js +33 -11
  35. package/dist/domains/manage/routes/projectGithubAccess.d.ts +9 -0
  36. package/dist/domains/manage/routes/projectGithubAccess.js +167 -0
  37. package/dist/domains/manage/routes/projectMembers.js +12 -44
  38. package/dist/domains/manage/routes/projectPermissions.js +11 -11
  39. package/dist/domains/manage/routes/projects.js +15 -18
  40. package/dist/domains/manage/routes/signoz.d.ts +2 -2
  41. package/dist/domains/manage/routes/signoz.js +7 -4
  42. package/dist/domains/manage/routes/subAgentArtifactComponents.js +5 -5
  43. package/dist/domains/manage/routes/subAgentDataComponents.js +5 -5
  44. package/dist/domains/manage/routes/subAgentExternalAgentRelations.js +5 -5
  45. package/dist/domains/manage/routes/subAgentFunctionTools.js +5 -5
  46. package/dist/domains/manage/routes/subAgentRelations.js +6 -6
  47. package/dist/domains/manage/routes/subAgentTeamAgentRelations.js +6 -6
  48. package/dist/domains/manage/routes/subAgentToolRelations.js +6 -6
  49. package/dist/domains/manage/routes/subAgents.js +5 -5
  50. package/dist/domains/manage/routes/tools.js +28 -5
  51. package/dist/domains/manage/routes/triggers.js +49 -24
  52. package/dist/domains/manage/routes/userOrganizations.js +4 -4
  53. package/dist/domains/manage/routes/userProjectMemberships.d.ts +9 -0
  54. package/dist/domains/manage/routes/userProjectMemberships.js +44 -0
  55. package/dist/domains/mcp/routes/mcp.d.ts +7 -0
  56. package/dist/domains/mcp/routes/mcp.js +45 -0
  57. package/dist/domains/run/agents/Agent.d.ts +1 -0
  58. package/dist/domains/run/agents/Agent.js +235 -45
  59. package/dist/domains/run/agents/relationTools.d.ts +2 -2
  60. package/dist/domains/run/constants/execution-limits/defaults.d.ts +1 -1
  61. package/dist/domains/run/constants/execution-limits/defaults.js +1 -1
  62. package/dist/domains/run/constants/execution-limits/index.d.ts +1 -1
  63. package/dist/domains/run/context/ContextFetcher.js +8 -7
  64. package/dist/domains/run/context/validation.d.ts +1 -1
  65. package/dist/domains/run/handlers/executionHandler.js +143 -79
  66. package/dist/domains/run/routes/agents.js +1 -1
  67. package/dist/domains/run/routes/chat.js +47 -1
  68. package/dist/domains/run/routes/chatDataStream.js +107 -14
  69. package/dist/domains/run/routes/webhooks.js +40 -348
  70. package/dist/domains/run/services/AgentSession.d.ts +3 -0
  71. package/dist/domains/run/services/AgentSession.js +14 -1
  72. package/dist/domains/run/services/ToolApprovalUiBus.d.ts +28 -0
  73. package/dist/domains/run/services/ToolApprovalUiBus.js +44 -0
  74. package/dist/domains/run/services/TriggerService.d.ts +31 -0
  75. package/dist/domains/run/services/TriggerService.js +545 -0
  76. package/dist/domains/run/tools/NativeSandboxExecutor.d.ts +3 -2
  77. package/dist/domains/run/tools/NativeSandboxExecutor.js +76 -48
  78. package/dist/domains/run/tools/SandboxExecutorFactory.d.ts +11 -1
  79. package/dist/domains/run/tools/SandboxExecutorFactory.js +27 -3
  80. package/dist/domains/run/tools/VercelSandboxExecutor.d.ts +3 -11
  81. package/dist/domains/run/tools/VercelSandboxExecutor.js +137 -127
  82. package/dist/domains/run/tools/sandbox-utils.js +1 -1
  83. package/dist/domains/run/types/executionContext.js +3 -1
  84. package/dist/domains/run/utils/stream-helpers.d.ts +134 -0
  85. package/dist/domains/run/utils/stream-helpers.js +182 -0
  86. package/dist/domains/run/utils/token-estimator.d.ts +2 -2
  87. package/dist/env.d.ts +12 -2
  88. package/dist/env.js +37 -32
  89. package/dist/factory.d.ts +31 -31
  90. package/dist/factory.js +4 -10
  91. package/dist/index.d.ts +30 -29
  92. package/dist/index.js +3 -5
  93. package/dist/middleware/branchScopedDb.d.ts +1 -1
  94. package/dist/middleware/cors.js +1 -1
  95. package/dist/middleware/evalsAuth.d.ts +2 -2
  96. package/dist/middleware/manageAuth.d.ts +2 -2
  97. package/dist/middleware/projectAccess.d.ts +4 -20
  98. package/dist/middleware/projectAccess.js +7 -49
  99. package/dist/middleware/projectConfig.d.ts +3 -3
  100. package/dist/middleware/ref.d.ts +1 -1
  101. package/dist/middleware/requirePermission.d.ts +2 -2
  102. package/dist/middleware/requirePermission.js +1 -2
  103. package/dist/middleware/runAuth.d.ts +4 -4
  104. package/dist/middleware/sessionAuth.d.ts +3 -3
  105. package/dist/middleware/sessionAuth.js +1 -2
  106. package/dist/middleware/tenantAccess.d.ts +2 -2
  107. package/dist/middleware/tenantAccess.js +4 -4
  108. package/dist/middleware/tracing.d.ts +3 -3
  109. package/dist/openapi.d.ts +36 -1
  110. package/dist/openapi.js +40 -95
  111. package/dist/routes/healthChecks.d.ts +10 -0
  112. package/dist/routes/healthChecks.js +75 -0
  113. package/dist/types/app.d.ts +2 -0
  114. package/dist/types/runExecutionContext.js +3 -1
  115. package/dist/utils/healthChecks.d.ts +8 -0
  116. package/dist/utils/healthChecks.js +38 -0
  117. package/dist/utils/signozHelpers.d.ts +2 -2
  118. package/dist/utils/signozHelpers.js +15 -3
  119. package/package.json +8 -9
  120. package/dist/domains/evals/services/startEvaluation.d.ts +0 -19
  121. package/dist/domains/evals/services/startEvaluation.js +0 -18
  122. package/dist/domains/index.d.ts +0 -4
  123. package/dist/domains/index.js +0 -5
  124. package/dist/domains/manage/routes/agentToolRelations.js +0 -289
  125. package/dist/domains/run/agents/ModelFactory.d.ts +0 -63
  126. package/dist/domains/run/agents/ModelFactory.js +0 -194
  127. package/dist/domains/run/data/agent.d.ts +0 -7
  128. package/dist/domains/run/data/agent.js +0 -67
  129. package/dist/domains/run/services/evaluationRunConfigMatcher.d.ts +0 -4
  130. package/dist/domains/run/services/evaluationRunConfigMatcher.js +0 -7
  131. package/dist/domains/run/utils/cleanup.d.ts +0 -21
  132. package/dist/domains/run/utils/cleanup.js +0 -59
  133. package/dist/initialization.d.ts +0 -6
  134. package/dist/initialization.js +0 -65
  135. package/dist/utils/tempApiKeys.d.ts +0 -17
  136. package/dist/utils/tempApiKeys.js +0 -26
  137. package/dist/utils/workflowApiHelpers.d.ts +0 -1
  138. package/dist/utils/workflowApiHelpers.js +0 -1
@@ -5,6 +5,7 @@ import { parsePartialJson } from "ai";
5
5
  var SSEStreamHelper = class {
6
6
  isTextStreaming = false;
7
7
  queuedEvents = [];
8
+ toolCallIndexById = /* @__PURE__ */ new Map();
8
9
  constructor(stream, requestId, timestamp) {
9
10
  this.stream = stream;
10
11
  this.requestId = requestId;
@@ -40,6 +41,25 @@ var SSEStreamHelper = class {
40
41
  }]
41
42
  }) });
42
43
  }
44
+ getToolIndex(toolCallId) {
45
+ const existing = this.toolCallIndexById.get(toolCallId);
46
+ if (existing !== void 0) return existing;
47
+ const next = this.toolCallIndexById.size;
48
+ this.toolCallIndexById.set(toolCallId, next);
49
+ return next;
50
+ }
51
+ async writeToolCallsDelta(toolCalls) {
52
+ await this.stream.writeSSE({ data: JSON.stringify({
53
+ id: this.requestId,
54
+ object: "chat.completion.chunk",
55
+ created: this.timestamp,
56
+ choices: [{
57
+ index: 0,
58
+ delta: { tool_calls: toolCalls },
59
+ finish_reason: null
60
+ }]
61
+ }) });
62
+ }
43
63
  /**
44
64
  * Stream text word by word with optional delay
45
65
  */
@@ -97,6 +117,65 @@ var SSEStreamHelper = class {
97
117
  }]
98
118
  }) });
99
119
  }
120
+ async writeToolInputStart(params) {
121
+ const index = this.getToolIndex(params.toolCallId);
122
+ await this.writeToolCallsDelta([{
123
+ index,
124
+ id: params.toolCallId,
125
+ type: "function",
126
+ function: {
127
+ name: params.toolName,
128
+ arguments: ""
129
+ }
130
+ }]);
131
+ }
132
+ async writeToolInputDelta(params) {
133
+ const index = this.getToolIndex(params.toolCallId);
134
+ await this.writeToolCallsDelta([{
135
+ index,
136
+ id: null,
137
+ type: null,
138
+ function: {
139
+ name: null,
140
+ arguments: params.inputTextDelta
141
+ }
142
+ }]);
143
+ }
144
+ async writeToolInputAvailable(params) {
145
+ const fullArgs = JSON.stringify(params.input ?? {});
146
+ if (fullArgs) await this.writeToolInputDelta({
147
+ toolCallId: params.toolCallId,
148
+ inputTextDelta: fullArgs
149
+ });
150
+ }
151
+ async writeToolOutputAvailable(params) {
152
+ await this.writeContent(JSON.stringify({
153
+ type: "tool-output-available",
154
+ toolCallId: params.toolCallId,
155
+ output: params.output
156
+ }));
157
+ }
158
+ async writeToolOutputError(params) {
159
+ await this.writeContent(JSON.stringify({
160
+ type: "tool-output-error",
161
+ toolCallId: params.toolCallId,
162
+ errorText: params.errorText,
163
+ output: params.output ?? null
164
+ }));
165
+ }
166
+ async writeToolApprovalRequest(params) {
167
+ await this.writeContent(JSON.stringify({
168
+ type: "tool-approval-request",
169
+ approvalId: params.approvalId,
170
+ toolCallId: params.toolCallId
171
+ }));
172
+ }
173
+ async writeToolOutputDenied(params) {
174
+ await this.writeContent(JSON.stringify({
175
+ type: "tool-output-denied",
176
+ toolCallId: params.toolCallId
177
+ }));
178
+ }
100
179
  async writeSummary(summary) {
101
180
  if (this.isTextStreaming) {
102
181
  this.queuedEvents.push({
@@ -166,6 +245,7 @@ var VercelDataStreamHelper = class VercelDataStreamHelper {
166
245
  this.forceCleanup("Connection lifetime exceeded");
167
246
  }, STREAM_MAX_LIFETIME_MS);
168
247
  }
248
+ setSessionId(_sessionId) {}
169
249
  async writeRole(_ = "assistant") {}
170
250
  async writeContent(content) {
171
251
  if (this.isCompleted) {
@@ -272,6 +352,64 @@ var VercelDataStreamHelper = class VercelDataStreamHelper {
272
352
  type: "error"
273
353
  });
274
354
  }
355
+ async writeToolInputStart(params) {
356
+ if (this.isCompleted) return;
357
+ this.writer.write({
358
+ type: "tool-input-start",
359
+ toolCallId: params.toolCallId,
360
+ toolName: params.toolName
361
+ });
362
+ }
363
+ async writeToolInputDelta(params) {
364
+ if (this.isCompleted) return;
365
+ this.writer.write({
366
+ type: "tool-input-delta",
367
+ toolCallId: params.toolCallId,
368
+ inputTextDelta: params.inputTextDelta
369
+ });
370
+ }
371
+ async writeToolInputAvailable(params) {
372
+ if (this.isCompleted) return;
373
+ this.writer.write({
374
+ type: "tool-input-available",
375
+ toolCallId: params.toolCallId,
376
+ toolName: params.toolName,
377
+ input: params.input,
378
+ ...params.providerMetadata ? { providerMetadata: params.providerMetadata } : {}
379
+ });
380
+ }
381
+ async writeToolOutputAvailable(params) {
382
+ if (this.isCompleted) return;
383
+ this.writer.write({
384
+ type: "tool-output-available",
385
+ toolCallId: params.toolCallId,
386
+ output: params.output
387
+ });
388
+ }
389
+ async writeToolOutputError(params) {
390
+ if (this.isCompleted) return;
391
+ this.writer.write({
392
+ type: "tool-output-error",
393
+ toolCallId: params.toolCallId,
394
+ errorText: params.errorText,
395
+ output: params.output ?? null
396
+ });
397
+ }
398
+ async writeToolApprovalRequest(params) {
399
+ if (this.isCompleted) return;
400
+ this.writer.write({
401
+ type: "tool-approval-request",
402
+ approvalId: params.approvalId,
403
+ toolCallId: params.toolCallId
404
+ });
405
+ }
406
+ async writeToolOutputDenied(params) {
407
+ if (this.isCompleted) return;
408
+ this.writer.write({
409
+ type: "tool-output-denied",
410
+ toolCallId: params.toolCallId
411
+ });
412
+ }
275
413
  async streamData(data) {
276
414
  await this.writeContent(JSON.stringify(data));
277
415
  }
@@ -458,6 +596,7 @@ var BufferingStreamHelper = class {
458
596
  capturedSummaries = [];
459
597
  hasError = false;
460
598
  errorMessage = "";
599
+ setSessionId(_sessionId) {}
461
600
  async writeRole(_role) {}
462
601
  async writeContent(content) {
463
602
  this.capturedText += content;
@@ -487,6 +626,49 @@ var BufferingStreamHelper = class {
487
626
  this.hasError = true;
488
627
  this.errorMessage = typeof error === "string" ? error : error.message;
489
628
  }
629
+ async writeToolInputStart(params) {
630
+ this.capturedData.push({
631
+ type: "tool-input-start",
632
+ ...params
633
+ });
634
+ }
635
+ async writeToolInputDelta(params) {
636
+ this.capturedData.push({
637
+ type: "tool-input-delta",
638
+ ...params
639
+ });
640
+ }
641
+ async writeToolInputAvailable(params) {
642
+ this.capturedData.push({
643
+ type: "tool-input-available",
644
+ ...params
645
+ });
646
+ }
647
+ async writeToolOutputAvailable(params) {
648
+ this.capturedData.push({
649
+ type: "tool-output-available",
650
+ ...params
651
+ });
652
+ }
653
+ async writeToolOutputError(params) {
654
+ this.capturedData.push({
655
+ type: "tool-output-error",
656
+ ...params,
657
+ output: params.output ?? null
658
+ });
659
+ }
660
+ async writeToolApprovalRequest(params) {
661
+ this.capturedData.push({
662
+ type: "tool-approval-request",
663
+ ...params
664
+ });
665
+ }
666
+ async writeToolOutputDenied(params) {
667
+ this.capturedData.push({
668
+ type: "tool-output-denied",
669
+ ...params
670
+ });
671
+ }
490
672
  async complete() {}
491
673
  /**
492
674
  * Get the captured response for non-streaming output
@@ -1,4 +1,4 @@
1
- import * as _inkeep_agents_core3 from "@inkeep/agents-core";
1
+ import * as _inkeep_agents_core1 from "@inkeep/agents-core";
2
2
  import { BreakdownComponentDef, ContextBreakdown, calculateBreakdownTotal, createEmptyBreakdown } from "@inkeep/agents-core";
3
3
 
4
4
  //#region src/domains/run/utils/token-estimator.d.ts
@@ -17,7 +17,7 @@ interface AssembleResult {
17
17
  /** The assembled prompt string */
18
18
  prompt: string;
19
19
  /** Token breakdown for each component */
20
- breakdown: _inkeep_agents_core3.ContextBreakdown;
20
+ breakdown: _inkeep_agents_core1.ContextBreakdown;
21
21
  }
22
22
  //#endregion
23
23
  export { AssembleResult, type BreakdownComponentDef, type ContextBreakdown, calculateBreakdownTotal, createEmptyBreakdown, estimateTokens };
package/dist/env.d.ts CHANGED
@@ -37,7 +37,6 @@ declare const envSchema: z.ZodObject<{
37
37
  NANGO_SECRET_KEY: z.ZodOptional<z.ZodString>;
38
38
  OTEL_BSP_SCHEDULE_DELAY: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
39
39
  OTEL_BSP_MAX_EXPORT_BATCH_SIZE: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
40
- DISABLE_AUTH: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodString>>, z.ZodTransform<boolean, string>>;
41
40
  TENANT_ID: z.ZodDefault<z.ZodOptional<z.ZodString>>;
42
41
  SIGNOZ_URL: z.ZodOptional<z.ZodString>;
43
42
  SIGNOZ_API_KEY: z.ZodOptional<z.ZodString>;
@@ -45,6 +44,12 @@ declare const envSchema: z.ZodObject<{
45
44
  ANTHROPIC_API_KEY: z.ZodString;
46
45
  OPENAI_API_KEY: z.ZodOptional<z.ZodString>;
47
46
  GOOGLE_GENERATIVE_AI_API_KEY: z.ZodOptional<z.ZodString>;
47
+ GITHUB_APP_ID: z.ZodOptional<z.ZodString>;
48
+ GITHUB_APP_PRIVATE_KEY: z.ZodOptional<z.ZodString>;
49
+ GITHUB_WEBHOOK_SECRET: z.ZodOptional<z.ZodString>;
50
+ GITHUB_STATE_SIGNING_SECRET: z.ZodOptional<z.ZodString>;
51
+ GITHUB_APP_NAME: z.ZodOptional<z.ZodString>;
52
+ GITHUB_MCP_API_KEY: z.ZodOptional<z.ZodString>;
48
53
  WORKFLOW_TARGET_WORLD: z.ZodOptional<z.ZodString>;
49
54
  WORKFLOW_POSTGRES_URL: z.ZodOptional<z.ZodString>;
50
55
  WORKFLOW_POSTGRES_JOB_PREFIX: z.ZodOptional<z.ZodString>;
@@ -60,7 +65,6 @@ declare const env: {
60
65
  NANGO_SERVER_URL: string;
61
66
  OTEL_BSP_SCHEDULE_DELAY: number;
62
67
  OTEL_BSP_MAX_EXPORT_BATCH_SIZE: number;
63
- DISABLE_AUTH: boolean;
64
68
  TENANT_ID: string;
65
69
  ANTHROPIC_API_KEY: string;
66
70
  INKEEP_AGENTS_MANAGE_UI_URL?: string | undefined;
@@ -79,6 +83,12 @@ declare const env: {
79
83
  PUBLIC_SIGNOZ_URL?: string | undefined;
80
84
  OPENAI_API_KEY?: string | undefined;
81
85
  GOOGLE_GENERATIVE_AI_API_KEY?: string | undefined;
86
+ GITHUB_APP_ID?: string | undefined;
87
+ GITHUB_APP_PRIVATE_KEY?: string | undefined;
88
+ GITHUB_WEBHOOK_SECRET?: string | undefined;
89
+ GITHUB_STATE_SIGNING_SECRET?: string | undefined;
90
+ GITHUB_APP_NAME?: string | undefined;
91
+ GITHUB_MCP_API_KEY?: string | undefined;
82
92
  WORKFLOW_TARGET_WORLD?: string | undefined;
83
93
  WORKFLOW_POSTGRES_URL?: string | undefined;
84
94
  WORKFLOW_POSTGRES_JOB_PREFIX?: string | undefined;
package/dist/env.js CHANGED
@@ -8,49 +8,54 @@ const envSchema = z.object({
8
8
  "development",
9
9
  "production",
10
10
  "test"
11
- ]).default("development"),
11
+ ]).default("development").describe("Node.js environment mode"),
12
12
  ENVIRONMENT: z.enum([
13
13
  "development",
14
14
  "production",
15
15
  "pentest",
16
16
  "test"
17
- ]).default("development"),
17
+ ]).default("development").describe("Application environment mode"),
18
18
  LOG_LEVEL: z.enum([
19
19
  "trace",
20
20
  "debug",
21
21
  "info",
22
22
  "warn",
23
23
  "error"
24
- ]).default("info"),
25
- INKEEP_AGENTS_MANAGE_DATABASE_URL: z.string(),
26
- INKEEP_AGENTS_RUN_DATABASE_URL: z.string(),
27
- INKEEP_AGENTS_MANAGE_UI_URL: z.string().optional(),
28
- INKEEP_AGENTS_API_URL: z.string().optional().default("http://localhost:3002"),
29
- BETTER_AUTH_SECRET: z.string().optional(),
30
- INKEEP_AGENTS_MANAGE_UI_USERNAME: z.string().optional().refine((val) => !val || /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(val), { message: "Invalid email address" }),
31
- INKEEP_AGENTS_MANAGE_UI_PASSWORD: z.string().optional().refine((val) => !val || val.length >= 8, { message: "Password must be at least 8 characters" }),
32
- INKEEP_AGENTS_API_BYPASS_SECRET: z.string().optional(),
33
- INKEEP_AGENTS_MANAGE_API_BYPASS_SECRET: z.string().optional(),
34
- INKEEP_AGENTS_RUN_API_BYPASS_SECRET: z.string().optional(),
35
- INKEEP_AGENTS_EVAL_API_BYPASS_SECRET: z.string().optional(),
36
- INKEEP_AGENTS_TEMP_JWT_PUBLIC_KEY: z.string().optional(),
37
- INKEEP_AGENTS_TEMP_JWT_PRIVATE_KEY: z.string().optional(),
38
- NANGO_SERVER_URL: z.string().optional().default("https://api.nango.dev"),
39
- NANGO_SECRET_KEY: z.string().optional(),
40
- OTEL_BSP_SCHEDULE_DELAY: z.coerce.number().optional().default(500),
41
- OTEL_BSP_MAX_EXPORT_BATCH_SIZE: z.coerce.number().optional().default(64),
42
- DISABLE_AUTH: z.string().optional().default("false").transform((val) => val === "true"),
43
- TENANT_ID: z.string().optional().default("default"),
44
- SIGNOZ_URL: z.string().optional(),
45
- SIGNOZ_API_KEY: z.string().optional(),
46
- PUBLIC_SIGNOZ_URL: z.string().optional(),
47
- ANTHROPIC_API_KEY: z.string(),
48
- OPENAI_API_KEY: z.string().optional(),
49
- GOOGLE_GENERATIVE_AI_API_KEY: z.string().optional(),
50
- WORKFLOW_TARGET_WORLD: z.string().optional(),
51
- WORKFLOW_POSTGRES_URL: z.string().optional(),
52
- WORKFLOW_POSTGRES_JOB_PREFIX: z.string().optional(),
53
- WORKFLOW_POSTGRES_WORKER_CONCURRENCY: z.string().optional()
24
+ ]).default("info").describe("Logging verbosity level"),
25
+ INKEEP_AGENTS_MANAGE_DATABASE_URL: z.string().describe("PostgreSQL connection URL for the management database (Doltgres with Git version control)"),
26
+ INKEEP_AGENTS_RUN_DATABASE_URL: z.string().describe("PostgreSQL connection URL for the runtime database (Doltgres with Git version control)"),
27
+ INKEEP_AGENTS_MANAGE_UI_URL: z.string().optional().describe("URL where the management UI is hosted"),
28
+ INKEEP_AGENTS_API_URL: z.string().optional().default("http://localhost:3002").describe("URL where the agents management API is running"),
29
+ BETTER_AUTH_SECRET: z.string().optional().describe("Secret key for Better Auth session encryption (change in production)"),
30
+ INKEEP_AGENTS_MANAGE_UI_USERNAME: z.string().optional().refine((val) => !val || /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(val), { message: "Invalid email address" }).describe("Admin email address for management UI login"),
31
+ INKEEP_AGENTS_MANAGE_UI_PASSWORD: z.string().optional().refine((val) => !val || val.length >= 8, { message: "Password must be at least 8 characters" }).describe("Admin password for management UI login (min 8 characters)"),
32
+ INKEEP_AGENTS_API_BYPASS_SECRET: z.string().optional().describe("API bypass secret for local development and testing (skips auth)"),
33
+ INKEEP_AGENTS_MANAGE_API_BYPASS_SECRET: z.string().optional().describe("Management API bypass secret for local development and testing (skips auth)"),
34
+ INKEEP_AGENTS_RUN_API_BYPASS_SECRET: z.string().optional().describe("Run API bypass secret for local development and testing (skips auth)"),
35
+ INKEEP_AGENTS_EVAL_API_BYPASS_SECRET: z.string().optional().describe("Eval API bypass secret for local development and testing (skips auth)"),
36
+ INKEEP_AGENTS_TEMP_JWT_PUBLIC_KEY: z.string().optional().describe("Temporary JWT public key for Playground (generate with scripts/generate-jwt-keys.sh)"),
37
+ INKEEP_AGENTS_TEMP_JWT_PRIVATE_KEY: z.string().optional().describe("Temporary JWT private key for Playground (generate with scripts/generate-jwt-keys.sh)"),
38
+ NANGO_SERVER_URL: z.string().optional().default("https://api.nango.dev").describe("Nango server URL for OAuth integrations"),
39
+ NANGO_SECRET_KEY: z.string().optional().describe("Nango secret key for OAuth integrations"),
40
+ OTEL_BSP_SCHEDULE_DELAY: z.coerce.number().optional().default(500).describe("OpenTelemetry batch span processor schedule delay in milliseconds"),
41
+ OTEL_BSP_MAX_EXPORT_BATCH_SIZE: z.coerce.number().optional().default(64).describe("OpenTelemetry batch span processor max export batch size"),
42
+ TENANT_ID: z.string().optional().default("default").describe("Default tenant ID for development"),
43
+ SIGNOZ_URL: z.string().optional().describe("SigNoz server URL for observability"),
44
+ SIGNOZ_API_KEY: z.string().optional().describe("SigNoz API key for authentication"),
45
+ PUBLIC_SIGNOZ_URL: z.string().optional().describe("Public SigNoz URL accessible from the browser"),
46
+ ANTHROPIC_API_KEY: z.string().describe("Anthropic API key for Claude models (required for agent execution). Get from https://console.anthropic.com/"),
47
+ OPENAI_API_KEY: z.string().optional().describe("OpenAI API key for GPT models. Get from https://platform.openai.com/"),
48
+ GOOGLE_GENERATIVE_AI_API_KEY: z.string().optional().describe("Google Generative AI API key for Gemini models"),
49
+ GITHUB_APP_ID: z.string().optional(),
50
+ GITHUB_APP_PRIVATE_KEY: z.string().optional(),
51
+ GITHUB_WEBHOOK_SECRET: z.string().optional(),
52
+ GITHUB_STATE_SIGNING_SECRET: z.string().min(32, "GITHUB_STATE_SIGNING_SECRET must be at least 32 characters").optional(),
53
+ GITHUB_APP_NAME: z.string().optional(),
54
+ GITHUB_MCP_API_KEY: z.string().optional().describe("API key for the GitHub MCP"),
55
+ WORKFLOW_TARGET_WORLD: z.string().optional().describe("Target world for workflow execution"),
56
+ WORKFLOW_POSTGRES_URL: z.string().optional().describe("PostgreSQL connection URL for workflow job queue"),
57
+ WORKFLOW_POSTGRES_JOB_PREFIX: z.string().optional().describe("Prefix for workflow job names in the queue"),
58
+ WORKFLOW_POSTGRES_WORKER_CONCURRENCY: z.string().optional().describe("Number of concurrent workflow workers")
54
59
  });
55
60
  const parseEnv = () => {
56
61
  try {
package/dist/factory.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import { SandboxConfig } from "./types/app.js";
2
2
  import "./types/index.js";
3
3
  import { createAgentsHono } from "./createApp.js";
4
- import { initializeDefaultUser } from "./initialization.js";
5
4
  import { createAuth0Provider, createOIDCProvider } from "./ssoHelpers.js";
6
- import * as hono0 from "hono";
7
5
  import { CredentialStore, ServerConfig } from "@inkeep/agents-core";
6
+ import * as hono0 from "hono";
8
7
  import * as zod0 from "zod";
9
8
  import { SSOProviderConfig, UserAuthConfig } from "@inkeep/agents-core/auth";
10
9
  import * as hono_types1 from "hono/types";
@@ -122,11 +121,11 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
122
121
  useSecureCookies?: boolean | undefined;
123
122
  disableCSRFCheck?: boolean | undefined;
124
123
  disableOriginCheck?: boolean | undefined;
125
- crossSubDomainCookies: {
124
+ crossSubDomainCookies?: {
126
125
  enabled: boolean;
127
126
  additionalCookies?: string[];
128
127
  domain?: string;
129
- };
128
+ } | undefined;
130
129
  cookies?: {
131
130
  [key: string]: {
132
131
  name?: string;
@@ -795,27 +794,28 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
795
794
  ac: better_auth_plugins0.AccessControl;
796
795
  roles: {
797
796
  member: {
798
- authorize<K_1 extends "organization" | "ac" | "member" | "project" | "team" | "invitation">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key] | {
799
- actions: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key];
797
+ authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
798
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
800
799
  connector: "OR" | "AND";
801
800
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
802
- statements: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>;
801
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
803
802
  };
804
803
  admin: {
805
- authorize<K_1 extends "organization" | "ac" | "member" | "project" | "team" | "invitation">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key] | {
806
- actions: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key];
804
+ authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
805
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
807
806
  connector: "OR" | "AND";
808
807
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
809
- statements: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>;
808
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
810
809
  };
811
810
  owner: {
812
- authorize<K_1 extends "organization" | "ac" | "member" | "project" | "team" | "invitation">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key] | {
813
- actions: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key];
811
+ authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
812
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
814
813
  connector: "OR" | "AND";
815
814
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
816
- statements: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>;
815
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
817
816
  };
818
817
  };
818
+ creatorRole: "admin";
819
819
  membershipLimit: number;
820
820
  invitationLimit: number;
821
821
  invitationExpiresIn: number;
@@ -840,13 +840,13 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
840
840
  user: better_auth0.User & Record<string, any>;
841
841
  organization: better_auth_plugins0.Organization & Record<string, any>;
842
842
  }) => Promise<void>;
843
- afterUpdateMemberRole: ({
843
+ beforeUpdateMemberRole: ({
844
844
  member,
845
845
  organization: org,
846
- previousRole
846
+ newRole
847
847
  }: {
848
848
  member: better_auth_plugins0.Member & Record<string, any>;
849
- previousRole: string;
849
+ newRole: string;
850
850
  user: better_auth0.User & Record<string, any>;
851
851
  organization: better_auth_plugins0.Organization & Record<string, any>;
852
852
  }) => Promise<void>;
@@ -1104,27 +1104,28 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
1104
1104
  ac: better_auth_plugins0.AccessControl;
1105
1105
  roles: {
1106
1106
  member: {
1107
- authorize<K_1 extends "organization" | "ac" | "member" | "project" | "team" | "invitation">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key] | {
1108
- actions: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key];
1107
+ authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
1108
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
1109
1109
  connector: "OR" | "AND";
1110
1110
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
1111
- statements: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>;
1111
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
1112
1112
  };
1113
1113
  admin: {
1114
- authorize<K_1 extends "organization" | "ac" | "member" | "project" | "team" | "invitation">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key] | {
1115
- actions: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key];
1114
+ authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
1115
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
1116
1116
  connector: "OR" | "AND";
1117
1117
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
1118
- statements: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>;
1118
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
1119
1119
  };
1120
1120
  owner: {
1121
- authorize<K_1 extends "organization" | "ac" | "member" | "project" | "team" | "invitation">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key] | {
1122
- actions: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>[key];
1121
+ authorize<K_1 extends "organization" | "member" | "invitation" | "ac" | "project" | "team">(request: K_1 extends infer T extends K ? { [key in T]?: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key] | {
1122
+ actions: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>[key];
1123
1123
  connector: "OR" | "AND";
1124
1124
  } | undefined } : never, connector?: "OR" | "AND"): better_auth_plugins0.AuthorizeResponse;
1125
- statements: better_auth_plugins0.Subset<"organization" | "ac" | "member" | "project" | "team" | "invitation", better_auth_plugins0.Statements>;
1125
+ statements: better_auth_plugins0.Subset<"organization" | "member" | "invitation" | "ac" | "project" | "team", better_auth_plugins0.Statements>;
1126
1126
  };
1127
1127
  };
1128
+ creatorRole: "admin";
1128
1129
  membershipLimit: number;
1129
1130
  invitationLimit: number;
1130
1131
  invitationExpiresIn: number;
@@ -1149,13 +1150,13 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
1149
1150
  user: better_auth0.User & Record<string, any>;
1150
1151
  organization: better_auth_plugins0.Organization & Record<string, any>;
1151
1152
  }) => Promise<void>;
1152
- afterUpdateMemberRole: ({
1153
+ beforeUpdateMemberRole: ({
1153
1154
  member,
1154
1155
  organization: org,
1155
- previousRole
1156
+ newRole
1156
1157
  }: {
1157
1158
  member: better_auth_plugins0.Member & Record<string, any>;
1158
- previousRole: string;
1159
+ newRole: string;
1159
1160
  user: better_auth0.User & Record<string, any>;
1160
1161
  organization: better_auth_plugins0.Organization & Record<string, any>;
1161
1162
  }) => Promise<void>;
@@ -1529,13 +1530,12 @@ declare function createAgentsAuth(userAuthConfig?: UserAuthConfig): better_auth0
1529
1530
  verificationUri?: string | undefined;
1530
1531
  }>;
1531
1532
  }];
1532
- }> | null;
1533
+ }>;
1533
1534
  declare function createAgentsApp(config?: {
1534
1535
  serverConfig?: ServerConfig;
1535
1536
  credentialStores?: CredentialStore[];
1536
1537
  auth?: UserAuthConfig;
1537
1538
  sandboxConfig?: SandboxConfig;
1538
- skipInitialization?: boolean;
1539
1539
  }): hono0.Hono<hono_types1.BlankEnv, hono_types1.BlankSchema, "/">;
1540
1540
  //#endregion
1541
- export { type SSOProviderConfig, type UserAuthConfig, createAgentsApp, createAgentsAuth, createAgentsHono, createAuth0Provider, createOIDCProvider, initializeDefaultUser };
1541
+ export { type SSOProviderConfig, type UserAuthConfig, createAgentsApp, createAgentsAuth, createAgentsHono, createAuth0Provider, createOIDCProvider };
package/dist/factory.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { env } from "./env.js";
2
2
  import runDbClient_default from "./data/db/runDbClient.js";
3
3
  import { createAgentsHono } from "./createApp.js";
4
- import { initializeDefaultUser } from "./initialization.js";
5
4
  import { createAuth0Provider, createOIDCProvider } from "./ssoHelpers.js";
6
5
  import { CredentialStoreRegistry, createDefaultCredentialStores } from "@inkeep/agents-core";
7
6
  import { createAuth } from "@inkeep/agents-core/auth";
@@ -16,7 +15,6 @@ const defaultConfig = {
16
15
  }
17
16
  };
18
17
  function createAgentsAuth(userAuthConfig) {
19
- if (env.DISABLE_AUTH) return null;
20
18
  return createAuth({
21
19
  baseURL: env.INKEEP_AGENTS_API_URL || `http://localhost:3002`,
22
20
  secret: env.BETTER_AUTH_SECRET || "development-secret-change-in-production",
@@ -26,17 +24,13 @@ function createAgentsAuth(userAuthConfig) {
26
24
  });
27
25
  }
28
26
  function createAgentsApp(config) {
29
- const serverConfig = config?.serverConfig ?? defaultConfig;
30
- const registry = new CredentialStoreRegistry(config?.credentialStores ?? createDefaultCredentialStores());
31
- const auth$1 = createAgentsAuth(config?.auth);
32
- if (!config?.skipInitialization && env.ENVIRONMENT !== "test") initializeDefaultUser(auth$1);
33
27
  return createAgentsHono({
34
- serverConfig,
35
- credentialStores: registry,
36
- auth: auth$1,
28
+ serverConfig: config?.serverConfig ?? defaultConfig,
29
+ credentialStores: new CredentialStoreRegistry(config?.credentialStores ?? createDefaultCredentialStores()),
30
+ auth: createAgentsAuth(config?.auth),
37
31
  sandboxConfig: config?.sandboxConfig
38
32
  });
39
33
  }
40
34
 
41
35
  //#endregion
42
- export { createAgentsApp, createAgentsAuth, createAgentsHono, createAuth0Provider, createOIDCProvider, initializeDefaultUser };
36
+ export { createAgentsApp, createAgentsAuth, createAgentsHono, createAuth0Provider, createOIDCProvider };