@agentuity/core 3.0.0-alpha.6 → 3.0.0-alpha.7

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 (110) hide show
  1. package/AGENTS.md +0 -1
  2. package/dist/index.d.ts +0 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +0 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/services/coder/api-reference.d.ts.map +1 -1
  7. package/dist/services/coder/api-reference.js +30 -1
  8. package/dist/services/coder/api-reference.js.map +1 -1
  9. package/dist/services/coder/client.d.ts +5 -1
  10. package/dist/services/coder/client.d.ts.map +1 -1
  11. package/dist/services/coder/client.js +8 -1
  12. package/dist/services/coder/client.js.map +1 -1
  13. package/dist/services/coder/index.d.ts +2 -2
  14. package/dist/services/coder/index.d.ts.map +1 -1
  15. package/dist/services/coder/index.js +1 -1
  16. package/dist/services/coder/index.js.map +1 -1
  17. package/dist/services/coder/protocol.d.ts +65 -0
  18. package/dist/services/coder/protocol.d.ts.map +1 -1
  19. package/dist/services/coder/protocol.js +8 -0
  20. package/dist/services/coder/protocol.js.map +1 -1
  21. package/dist/services/coder/sessions.d.ts +22 -0
  22. package/dist/services/coder/sessions.d.ts.map +1 -1
  23. package/dist/services/coder/sessions.js +10 -1
  24. package/dist/services/coder/sessions.js.map +1 -1
  25. package/dist/services/coder/sse.d.ts +2 -2
  26. package/dist/services/coder/sse.d.ts.map +1 -1
  27. package/dist/services/coder/sse.js +290 -178
  28. package/dist/services/coder/sse.js.map +1 -1
  29. package/dist/services/coder/types.d.ts +554 -0
  30. package/dist/services/coder/types.d.ts.map +1 -1
  31. package/dist/services/coder/types.js +138 -0
  32. package/dist/services/coder/types.js.map +1 -1
  33. package/dist/services/index.d.ts +0 -2
  34. package/dist/services/index.d.ts.map +1 -1
  35. package/dist/services/index.js +0 -2
  36. package/dist/services/index.js.map +1 -1
  37. package/dist/services/sandbox/run.d.ts.map +1 -1
  38. package/dist/services/sandbox/run.js +15 -2
  39. package/dist/services/sandbox/run.js.map +1 -1
  40. package/package.json +2 -16
  41. package/src/index.ts +0 -15
  42. package/src/services/coder/api-reference.ts +31 -0
  43. package/src/services/coder/client.ts +12 -0
  44. package/src/services/coder/index.ts +3 -0
  45. package/src/services/coder/protocol.ts +12 -0
  46. package/src/services/coder/sessions.ts +26 -0
  47. package/src/services/coder/sse.ts +343 -184
  48. package/src/services/coder/types.ts +179 -0
  49. package/src/services/index.ts +0 -2
  50. package/src/services/sandbox/run.ts +13 -2
  51. package/dist/services/auth/index.d.ts +0 -7
  52. package/dist/services/auth/index.d.ts.map +0 -1
  53. package/dist/services/auth/index.js +0 -7
  54. package/dist/services/auth/index.js.map +0 -1
  55. package/dist/services/auth/types.d.ts +0 -192
  56. package/dist/services/auth/types.d.ts.map +0 -1
  57. package/dist/services/auth/types.js +0 -11
  58. package/dist/services/auth/types.js.map +0 -1
  59. package/dist/services/eval/api-reference.d.ts +0 -4
  60. package/dist/services/eval/api-reference.d.ts.map +0 -1
  61. package/dist/services/eval/api-reference.js +0 -121
  62. package/dist/services/eval/api-reference.js.map +0 -1
  63. package/dist/services/eval/events.d.ts +0 -93
  64. package/dist/services/eval/events.d.ts.map +0 -1
  65. package/dist/services/eval/events.js +0 -24
  66. package/dist/services/eval/events.js.map +0 -1
  67. package/dist/services/eval/get.d.ts +0 -36
  68. package/dist/services/eval/get.d.ts.map +0 -1
  69. package/dist/services/eval/get.js +0 -23
  70. package/dist/services/eval/get.js.map +0 -1
  71. package/dist/services/eval/index.d.ts +0 -6
  72. package/dist/services/eval/index.d.ts.map +0 -1
  73. package/dist/services/eval/index.js +0 -6
  74. package/dist/services/eval/index.js.map +0 -1
  75. package/dist/services/eval/list.d.ts +0 -50
  76. package/dist/services/eval/list.d.ts.map +0 -1
  77. package/dist/services/eval/list.js +0 -32
  78. package/dist/services/eval/list.js.map +0 -1
  79. package/dist/services/eval/run-get.d.ts +0 -48
  80. package/dist/services/eval/run-get.d.ts.map +0 -1
  81. package/dist/services/eval/run-get.js +0 -29
  82. package/dist/services/eval/run-get.js.map +0 -1
  83. package/dist/services/eval/run-list.d.ts +0 -70
  84. package/dist/services/eval/run-list.d.ts.map +0 -1
  85. package/dist/services/eval/run-list.js +0 -42
  86. package/dist/services/eval/run-list.js.map +0 -1
  87. package/dist/webrtc.d.ts +0 -243
  88. package/dist/webrtc.d.ts.map +0 -1
  89. package/dist/webrtc.js +0 -5
  90. package/dist/webrtc.js.map +0 -1
  91. package/dist/workbench-config.d.ts +0 -62
  92. package/dist/workbench-config.d.ts.map +0 -1
  93. package/dist/workbench-config.js +0 -58
  94. package/dist/workbench-config.js.map +0 -1
  95. package/dist/workbench.d.ts +0 -2
  96. package/dist/workbench.d.ts.map +0 -1
  97. package/dist/workbench.js +0 -2
  98. package/dist/workbench.js.map +0 -1
  99. package/src/services/auth/index.ts +0 -19
  100. package/src/services/auth/types.ts +0 -223
  101. package/src/services/eval/api-reference.ts +0 -124
  102. package/src/services/eval/events.ts +0 -92
  103. package/src/services/eval/get.ts +0 -33
  104. package/src/services/eval/index.ts +0 -29
  105. package/src/services/eval/list.ts +0 -49
  106. package/src/services/eval/run-get.ts +0 -39
  107. package/src/services/eval/run-list.ts +0 -59
  108. package/src/webrtc.ts +0 -259
  109. package/src/workbench-config.ts +0 -79
  110. package/src/workbench.ts +0 -1
@@ -520,6 +520,59 @@ export const CoderCreateSessionRequestSchema = z
520
520
  .describe('Request body for creating a coder session');
521
521
  export type CoderCreateSessionRequest = z.infer<typeof CoderCreateSessionRequestSchema>;
522
522
 
523
+ function inferCoderAgentBuilderSessionMode(input: {
524
+ mode?: 'new' | 'edit' | 'from_session';
525
+ sourceSessionId?: string;
526
+ targetAgentId?: string;
527
+ targetAgentSlug?: string;
528
+ }): 'new' | 'edit' | 'from_session' {
529
+ if (input.mode) return input.mode;
530
+ if (input.sourceSessionId) return 'from_session';
531
+ if (input.targetAgentId || input.targetAgentSlug) return 'edit';
532
+ return 'new';
533
+ }
534
+
535
+ export const CoderCreateAgentBuilderSessionRequestSchema = z
536
+ .object({
537
+ label: z.string().optional().describe('Builder session label override'),
538
+ prompt: z.string().optional().describe('Optional user focus for the builder session kickoff'),
539
+ mode: z
540
+ .enum(['new', 'edit', 'from_session'])
541
+ .optional()
542
+ .describe('Builder launch mode override'),
543
+ visibility: CoderSessionVisibilitySchema.optional().describe('Builder session visibility'),
544
+ sourceSessionId: z
545
+ .string()
546
+ .optional()
547
+ .describe('Source session identifier for build-from-session launches'),
548
+ targetAgentId: z
549
+ .string()
550
+ .optional()
551
+ .describe('Target custom-agent identifier for edit launches'),
552
+ targetAgentSlug: z.string().optional().describe('Target custom-agent slug for edit launches'),
553
+ })
554
+ .superRefine((value, ctx) => {
555
+ const mode = inferCoderAgentBuilderSessionMode(value);
556
+ if (mode === 'from_session' && !value.sourceSessionId?.trim()) {
557
+ ctx.addIssue({
558
+ code: z.ZodIssueCode.custom,
559
+ path: ['sourceSessionId'],
560
+ message: 'sourceSessionId is required for from-session builder launches.',
561
+ });
562
+ }
563
+ if (mode === 'edit' && !value.targetAgentId?.trim() && !value.targetAgentSlug?.trim()) {
564
+ ctx.addIssue({
565
+ code: z.ZodIssueCode.custom,
566
+ path: ['targetAgentId'],
567
+ message: 'targetAgentId or targetAgentSlug is required for edit launches.',
568
+ });
569
+ }
570
+ })
571
+ .describe('Request body for creating an agent-builder session');
572
+ export type CoderCreateAgentBuilderSessionRequest = z.infer<
573
+ typeof CoderCreateAgentBuilderSessionRequestSchema
574
+ >;
575
+
523
576
  export const CoderUpdateSessionRequestSchema = z
524
577
  .object({
525
578
  label: z.string().optional().describe('Updated session label'),
@@ -574,6 +627,126 @@ export const CoderSessionWorkspaceSchema = z
574
627
  .describe('Workspace associated with a coder session');
575
628
  export type CoderSessionWorkspace = z.infer<typeof CoderSessionWorkspaceSchema>;
576
629
 
630
+ export const CoderAgentBuilderSessionModeSchema = z
631
+ .enum(['new', 'edit', 'from_session'])
632
+ .describe('Agent-builder launch mode for a builder session');
633
+ export type CoderAgentBuilderSessionMode = z.infer<typeof CoderAgentBuilderSessionModeSchema>;
634
+
635
+ export const CoderAgentBuilderActionKindSchema = z
636
+ .enum(['create_draft', 'update_draft', 'publish'])
637
+ .describe('Durable builder action emitted by an agent-builder session');
638
+ export type CoderAgentBuilderActionKind = z.infer<typeof CoderAgentBuilderActionKindSchema>;
639
+
640
+ export const CoderAgentBuilderSourceSessionSchema = z
641
+ .object({
642
+ sessionId: z.string().describe('Source session identifier linked to the builder session'),
643
+ label: z.string().optional().describe('Source session label when available'),
644
+ })
645
+ .describe('Source session reference used by agent-builder flows');
646
+ export type CoderAgentBuilderSourceSession = z.infer<typeof CoderAgentBuilderSourceSessionSchema>;
647
+
648
+ export const CoderAgentBuilderTargetAgentSchema = z
649
+ .object({
650
+ agentId: z.string().optional().describe('Target custom-agent identifier when editing'),
651
+ slug: z.string().describe('Target custom-agent slug'),
652
+ displayName: z.string().optional().describe('Target custom-agent display name'),
653
+ })
654
+ .describe('Target custom-agent reference for agent-builder edit flows');
655
+ export type CoderAgentBuilderTargetAgent = z.infer<typeof CoderAgentBuilderTargetAgentSchema>;
656
+
657
+ export const CoderAgentBuilderProposalSchema = z
658
+ .object({
659
+ slug: z.string().optional().describe('Proposed custom-agent slug'),
660
+ displayName: z.string().optional().describe('Proposed custom-agent name'),
661
+ description: z.string().optional().describe('Proposed custom-agent description'),
662
+ instructions: z.string().optional().describe('Proposed custom-agent system prompt'),
663
+ model: z.string().optional().describe('Proposed model override'),
664
+ thinkingLevel: CoderCustomAgentThinkingLevelSchema.optional().describe(
665
+ 'Proposed thinking level override'
666
+ ),
667
+ headlessCompatible: z
668
+ .boolean()
669
+ .optional()
670
+ .describe('Whether the proposed agent is safe for non-interactive callers'),
671
+ tools: z
672
+ .array(CoderCustomAgentToolResponseSchema)
673
+ .default([])
674
+ .describe('Proposed workspace tools for the agent'),
675
+ serviceTools: z
676
+ .array(CoderCustomAgentServiceToolResponseSchema)
677
+ .default([])
678
+ .describe('Proposed service tools for the agent'),
679
+ savedSkills: z
680
+ .array(CoderSkillRefSchema)
681
+ .default([])
682
+ .describe('Proposed frozen skill refs to attach'),
683
+ companionAgents: z
684
+ .array(z.string())
685
+ .default([])
686
+ .describe('Proposed companion agents to auto-include'),
687
+ })
688
+ .passthrough()
689
+ .describe('Session-scoped agent-builder proposal state');
690
+ export type CoderAgentBuilderProposal = z.infer<typeof CoderAgentBuilderProposalSchema>;
691
+
692
+ export const CoderAgentBuilderDurableStateSchema = z
693
+ .object({
694
+ draftAgentId: z.string().optional().describe('Linked draft custom-agent identifier'),
695
+ draftAgentSlug: z.string().optional().describe('Linked draft custom-agent slug'),
696
+ lastPublishedVersion: z
697
+ .number()
698
+ .int()
699
+ .optional()
700
+ .describe('Latest published version created through the builder flow'),
701
+ })
702
+ .describe('Durable agent-library state associated with a builder session');
703
+ export type CoderAgentBuilderDurableState = z.infer<typeof CoderAgentBuilderDurableStateSchema>;
704
+
705
+ export const CoderAgentBuilderActionStateSchema = z
706
+ .object({
707
+ kind: CoderAgentBuilderActionKindSchema.describe('Last durable builder action'),
708
+ status: z.enum(['completed', 'failed']).describe('Result of the last durable builder action'),
709
+ occurredAt: z.string().describe('Timestamp of the last durable builder action'),
710
+ message: z.string().optional().describe('Human-readable builder action result summary'),
711
+ agentId: z.string().optional().describe('Affected custom-agent identifier'),
712
+ agentSlug: z.string().optional().describe('Affected custom-agent slug'),
713
+ publishedVersion: z
714
+ .number()
715
+ .int()
716
+ .optional()
717
+ .describe('Published version number when publish succeeded'),
718
+ })
719
+ .describe('Latest durable action emitted by a builder session');
720
+ export type CoderAgentBuilderActionState = z.infer<typeof CoderAgentBuilderActionStateSchema>;
721
+
722
+ export const CoderAgentBuilderSessionSummarySchema = z
723
+ .object({
724
+ mode: CoderAgentBuilderSessionModeSchema.describe('Builder session mode'),
725
+ sourceSession: CoderAgentBuilderSourceSessionSchema.optional().describe(
726
+ 'Linked source session when the builder was launched from an existing session'
727
+ ),
728
+ targetAgent: CoderAgentBuilderTargetAgentSchema.optional().describe(
729
+ 'Target agent baseline when the builder is editing an existing custom agent'
730
+ ),
731
+ durable: CoderAgentBuilderDurableStateSchema.optional().describe(
732
+ 'Linked durable draft/publish state'
733
+ ),
734
+ lastAction: CoderAgentBuilderActionStateSchema.optional().describe(
735
+ 'Most recent durable builder action'
736
+ ),
737
+ })
738
+ .describe('Projected builder-session summary returned in session listings');
739
+ export type CoderAgentBuilderSessionSummary = z.infer<typeof CoderAgentBuilderSessionSummarySchema>;
740
+
741
+ export const CoderAgentBuilderSessionStateSchema = CoderAgentBuilderSessionSummarySchema.extend({
742
+ proposal: CoderAgentBuilderProposalSchema.optional().describe(
743
+ 'Full builder proposal state projected in session detail responses'
744
+ ),
745
+ })
746
+ .passthrough()
747
+ .describe('Full builder-session state returned in session details');
748
+ export type CoderAgentBuilderSessionState = z.infer<typeof CoderAgentBuilderSessionStateSchema>;
749
+
577
750
  export const CoderSessionListItemSchema = z
578
751
  .object({
579
752
  sessionId: z.string().describe('Unique session identifier'),
@@ -619,6 +792,9 @@ export const CoderSessionListItemSchema = z
619
792
  .optional()
620
793
  .default([])
621
794
  .describe('Enabled agent roster attached to the session'),
795
+ builder: CoderAgentBuilderSessionSummarySchema.optional().describe(
796
+ 'Projected builder-session summary when this session is an agent-builder flow'
797
+ ),
622
798
  defaultAgent: z.string().optional().describe('Default agent assigned to session operations'),
623
799
  bucket: CoderSessionBucketSchema.describe('Derived bucket for session listing'),
624
800
  runtimeAvailable: z.boolean().describe('Whether runtime is currently reachable'),
@@ -650,6 +826,9 @@ export const CoderSessionSchema = CoderSessionListItemSchema.extend({
650
826
  .string()
651
827
  .optional()
652
828
  .describe('Last update timestamp for session metadata (ISO-8601)'),
829
+ builder: CoderAgentBuilderSessionStateSchema.optional().describe(
830
+ 'Full builder-session state when this session is an agent-builder flow'
831
+ ),
653
832
  // These fields are present in list items but may be absent in detail responses
654
833
  lastActivityAt: z.string().optional().describe('Timestamp of most recent activity (ISO-8601)'),
655
834
  taskCount: z.number().optional().describe('Number of tasks associated with the session'),
@@ -1,5 +1,4 @@
1
1
  export * from './adapter.ts';
2
- export * from './auth/index.ts';
3
2
  export * from './email/index.ts';
4
3
  export * from './exception.ts';
5
4
  export * from './keyvalue/index.ts';
@@ -16,7 +15,6 @@ export * from './api.ts';
16
15
 
17
16
  export * from './apikey/index.ts';
18
17
  export * from './db/index.ts';
19
- export * from './eval/index.ts';
20
18
  export * from './machine/index.ts';
21
19
  export * from './monitoring/index.ts';
22
20
  export * from './oauth/index.ts';
@@ -73,8 +73,19 @@ export async function sandboxRun(
73
73
  let stdinStreamId: string | undefined;
74
74
  let stdinStreamUrl: string | undefined;
75
75
 
76
- // If stdin is provided and has data, create a stream for it
77
- if (stdin && region && apiKey) {
76
+ // Handle stdin stream configuration:
77
+ // - If stdin is "ignore", pass it through to skip stdin handling on server
78
+ // - If stdin is an explicit stream ID, use it directly
79
+ // - If stdin readable is provided, create a stream for it
80
+ const stdinConfig = options.stream?.stdin;
81
+ if (stdinConfig === 'ignore') {
82
+ stdinStreamId = 'ignore';
83
+ logger?.debug('stdin explicitly ignored');
84
+ } else if (stdinConfig && stdinConfig !== 'ignore') {
85
+ // User provided an explicit stream ID
86
+ stdinStreamId = stdinConfig;
87
+ logger?.debug('using provided stdin stream ID: %s', stdinStreamId);
88
+ } else if (stdin && region && apiKey) {
78
89
  const streamResult = await createStdinStream(region, apiKey, orgId, logger);
79
90
  stdinStreamId = streamResult.id;
80
91
  stdinStreamUrl = streamResult.url;
@@ -1,7 +0,0 @@
1
- /**
2
- * Authentication service types.
3
- *
4
- * @module services/auth
5
- */
6
- export type { AuthUser, AuthSession, AuthContext, AuthOrgContext, AuthApiKeyPermissions, AuthApiKeyContext, AuthMethod, AgentuityAuth, AuthOrgHelpers, AuthApiKeyHelpers, AuthInterface, } from './types.ts';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/auth/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACX,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,aAAa,GACb,MAAM,YAAY,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Authentication service types.
3
- *
4
- * @module services/auth
5
- */
6
- export {};
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/auth/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,192 +0,0 @@
1
- /**
2
- * Core authentication types for Agentuity.
3
- *
4
- * These types are defined in @agentuity/core to avoid circular dependencies
5
- * and allow packages like @agentuity/runtime to use auth types without
6
- * pulling in heavy dependencies like drizzle-orm.
7
- *
8
- * @module services/auth/types
9
- */
10
- /**
11
- * Canonical authenticated user type for Agentuity Auth.
12
- *
13
- * Common fields include:
14
- * - `id` – Stable user identifier
15
- * - `email` – Primary email address
16
- * - `name` – Display name
17
- * - `image` – Avatar URL (if configured)
18
- * - `createdAt` / `updatedAt` – Timestamps
19
- */
20
- export interface AuthUser {
21
- id: string;
22
- email: string;
23
- name?: string | null;
24
- image?: string | null;
25
- createdAt?: Date | string;
26
- updatedAt?: Date | string;
27
- }
28
- /**
29
- * Auth session type with organization plugin fields.
30
- */
31
- export interface AuthSession {
32
- id: string;
33
- userId: string;
34
- expiresAt: Date | string;
35
- /** Active organization ID from the organization plugin */
36
- activeOrganizationId?: string;
37
- ipAddress?: string | null;
38
- userAgent?: string | null;
39
- createdAt?: Date | string;
40
- updatedAt?: Date | string;
41
- }
42
- /**
43
- * Auth context containing user, session, and org data.
44
- * This is the full auth context available on AgentContext.auth and c.var.auth.
45
- * Session may be null for API key authentication.
46
- */
47
- export interface AuthContext<TUser = AuthUser, TSession = AuthSession | null> {
48
- user: TUser;
49
- session: TSession;
50
- org: AuthOrgContext | null;
51
- }
52
- /**
53
- * Organization context from the organization plugin.
54
- */
55
- export interface AuthOrgContext {
56
- /** Organization ID */
57
- id: string;
58
- /** Organization slug (URL-friendly identifier) */
59
- slug?: string | null;
60
- /** Organization display name */
61
- name?: string | null;
62
- /** Member's role in this organization (e.g., 'owner', 'admin', 'member') */
63
- role?: string | null;
64
- /** Member ID for this user in this organization */
65
- memberId?: string | null;
66
- /** Organization metadata (if enabled) */
67
- metadata?: unknown;
68
- }
69
- /**
70
- * API key permissions format.
71
- * Maps resource names to arrays of allowed actions.
72
- *
73
- * @example
74
- * ```typescript
75
- * const permissions: AuthApiKeyPermissions = {
76
- * project: ['read', 'write'],
77
- * user: ['read'],
78
- * admin: ['*'], // wildcard - all actions
79
- * };
80
- * ```
81
- */
82
- export interface AuthApiKeyPermissions {
83
- [key: string]: string[];
84
- }
85
- /**
86
- * API key context when request is authenticated via API key.
87
- */
88
- export interface AuthApiKeyContext {
89
- /** API key ID */
90
- id: string;
91
- /** Display name of the API key */
92
- name?: string | null;
93
- /** Permissions associated with this API key */
94
- permissions: AuthApiKeyPermissions;
95
- /** User ID the API key belongs to */
96
- userId?: string | null;
97
- }
98
- /**
99
- * Authentication method used for the current request.
100
- */
101
- export type AuthMethod = 'session' | 'api-key' | 'bearer';
102
- /**
103
- * Generic authentication interface exposed on Hono context.
104
- *
105
- * This type is intentionally provider-agnostic.
106
- *
107
- * @typeParam TUser - Domain user type (defaults to unknown for flexibility).
108
- * @typeParam TRaw - Underlying auth context (defaults to unknown for flexibility).
109
- */
110
- export interface AgentuityAuth<TUser = unknown, TRaw = unknown> {
111
- /** Get the authenticated user, throws if not authenticated */
112
- getUser(): Promise<TUser>;
113
- /** Get the raw JWT token */
114
- getToken(): Promise<string | null>;
115
- /** Raw provider-specific auth object or auth context */
116
- raw: TRaw;
117
- }
118
- /**
119
- * Organization helpers available on the auth context.
120
- */
121
- export interface AuthOrgHelpers {
122
- /** Active organization context if available, null otherwise */
123
- org: AuthOrgContext | null;
124
- /** Returns active org or null (never throws) */
125
- getOrg(): Promise<AuthOrgContext | null>;
126
- /** Convenience accessor for the member's role on the active org */
127
- getOrgRole(): Promise<string | null>;
128
- /** True if the current member's role is one of the provided roles */
129
- hasOrgRole(...roles: string[]): Promise<boolean>;
130
- }
131
- /**
132
- * API key helpers available on the auth context.
133
- */
134
- export interface AuthApiKeyHelpers {
135
- /** How this request was authenticated */
136
- authMethod: AuthMethod;
137
- /** API key context when request is authenticated via API key, null otherwise */
138
- apiKey: AuthApiKeyContext | null;
139
- /**
140
- * Check if the API key has the required permissions.
141
- * All specified actions must be present for the resource.
142
- * Supports '*' wildcard which matches any action.
143
- *
144
- * @param resource - The resource to check (e.g., 'project', 'user')
145
- * @param actions - Actions required (e.g., 'read', 'write')
146
- * @returns true if all actions are permitted, false otherwise
147
- *
148
- * @example
149
- * ```typescript
150
- * // Check for specific permission
151
- * if (c.var.auth.hasPermission('project', 'write')) { ... }
152
- *
153
- * // Check for multiple permissions (all required)
154
- * if (c.var.auth.hasPermission('project', 'read', 'write')) { ... }
155
- * ```
156
- */
157
- hasPermission(resource: string, ...actions: string[]): boolean;
158
- }
159
- /**
160
- * Full authentication interface available on `c.var.auth` and `ctx.auth`.
161
- *
162
- * This is the primary interface you'll use to access authentication data
163
- * in your route handlers and agents. It provides:
164
- *
165
- * - User data via `getUser()`
166
- * - Organization helpers via `getOrg()`, `getOrgRole()`, `hasOrgRole()`
167
- * - API key helpers via `apiKey`, `hasPermission()`
168
- * - Token access via `getToken()`
169
- *
170
- * @example Route handler
171
- * ```typescript
172
- * app.get('/api/profile', async (c) => {
173
- * const user = await c.var.auth.getUser();
174
- * const org = await c.var.auth.getOrg();
175
- * return c.json({ user, org });
176
- * });
177
- * ```
178
- *
179
- * @example Agent handler
180
- * ```typescript
181
- * handler: async (ctx, input) => {
182
- * if (!ctx.auth) return { error: 'Unauthorized' };
183
- * const user = await ctx.auth.getUser();
184
- * return { message: `Hello, ${user.email}!` };
185
- * }
186
- * ```
187
- *
188
- * @typeParam TUser - User type (extends AuthUser, defaults to AuthUser)
189
- */
190
- export interface AuthInterface<TUser extends AuthUser = AuthUser> extends AgentuityAuth<TUser, AuthContext<TUser>>, AuthOrgHelpers, AuthApiKeyHelpers {
191
- }
192
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/auth/types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Core authentication types for Agentuity.
3
- *
4
- * These types are defined in @agentuity/core to avoid circular dependencies
5
- * and allow packages like @agentuity/runtime to use auth types without
6
- * pulling in heavy dependencies like drizzle-orm.
7
- *
8
- * @module services/auth/types
9
- */
10
- export {};
11
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/auth/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -1,4 +0,0 @@
1
- import type { Service } from '../api-reference.ts';
2
- declare const service: Service;
3
- export default service;
4
- //# sourceMappingURL=api-reference.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-reference.d.ts","sourceRoot":"","sources":["../../../src/services/eval/api-reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAInD,QAAA,MAAM,OAAO,EAAE,OAqHd,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,121 +0,0 @@
1
- import { EvaluationSchema } from "./list.js";
2
- import { EvalRunSchema } from "./run-list.js";
3
- const service = {
4
- name: 'Evaluations',
5
- slug: 'evaluations',
6
- description: 'List and retrieve evaluations and their run history',
7
- endpoints: [
8
- {
9
- id: 'list-evaluations',
10
- title: 'List Evaluations',
11
- method: 'GET',
12
- path: '/cli/eval',
13
- description: 'List evaluations with optional filtering by organization, project, or agent.',
14
- pathParams: [],
15
- queryParams: [
16
- {
17
- name: 'orgId',
18
- type: 'string',
19
- description: 'Filter by organization ID',
20
- required: false,
21
- },
22
- {
23
- name: 'projectId',
24
- type: 'string',
25
- description: 'Filter by project ID',
26
- required: false,
27
- },
28
- { name: 'agentId', type: 'string', description: 'Filter by agent ID', required: false },
29
- ],
30
- requestBody: null,
31
- responseDescription: 'Array of evaluation objects.',
32
- responseFields: { schema: EvaluationSchema },
33
- statuses: [
34
- { code: 200, description: 'Evaluations returned' },
35
- { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
36
- ],
37
- examplePath: '/cli/eval',
38
- },
39
- {
40
- id: 'get-evaluation',
41
- title: 'Get Evaluation',
42
- method: 'GET',
43
- path: '/cli/eval/{id}',
44
- description: 'Get a specific evaluation by ID.',
45
- pathParams: [{ name: 'id', type: 'string', description: 'Evaluation ID', required: true }],
46
- queryParams: [],
47
- requestBody: null,
48
- responseDescription: 'Evaluation object.',
49
- statuses: [
50
- { code: 200, description: 'Evaluation returned' },
51
- { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
52
- { code: 404, description: 'Evaluation not found' },
53
- ],
54
- examplePath: '/cli/eval/eval_abc123',
55
- },
56
- {
57
- id: 'list-eval-runs',
58
- title: 'List Eval Runs',
59
- sectionTitle: 'Eval Runs',
60
- method: 'GET',
61
- path: '/cli/eval-run',
62
- description: 'List evaluation runs with optional filtering.',
63
- pathParams: [],
64
- queryParams: [
65
- {
66
- name: 'orgId',
67
- type: 'string',
68
- description: 'Filter by organization ID',
69
- required: false,
70
- },
71
- {
72
- name: 'projectId',
73
- type: 'string',
74
- description: 'Filter by project ID',
75
- required: false,
76
- },
77
- { name: 'agentId', type: 'string', description: 'Filter by agent ID', required: false },
78
- {
79
- name: 'evalId',
80
- type: 'string',
81
- description: 'Filter by evaluation ID',
82
- required: false,
83
- },
84
- {
85
- name: 'sessionId',
86
- type: 'string',
87
- description: 'Filter by session ID',
88
- required: false,
89
- },
90
- ],
91
- requestBody: null,
92
- responseDescription: 'Array of evaluation run objects.',
93
- responseFields: { schema: EvalRunSchema },
94
- statuses: [
95
- { code: 200, description: 'Eval runs returned' },
96
- { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
97
- ],
98
- examplePath: '/cli/eval-run',
99
- },
100
- {
101
- id: 'get-eval-run',
102
- title: 'Get Eval Run',
103
- sectionTitle: 'Eval Runs',
104
- method: 'GET',
105
- path: '/cli/eval-run/{id}',
106
- description: 'Get a specific evaluation run by ID.',
107
- pathParams: [{ name: 'id', type: 'string', description: 'Eval run ID', required: true }],
108
- queryParams: [],
109
- requestBody: null,
110
- responseDescription: 'Evaluation run object.',
111
- statuses: [
112
- { code: 200, description: 'Eval run returned' },
113
- { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
114
- { code: 404, description: 'Eval run not found' },
115
- ],
116
- examplePath: '/cli/eval-run/er_abc123',
117
- },
118
- ],
119
- };
120
- export default service;
121
- //# sourceMappingURL=api-reference.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-reference.js","sourceRoot":"","sources":["../../../src/services/eval/api-reference.ts"],"names":[],"mappings":"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"}