@maudecode/talaria-web-contracts 1.20.0 → 1.22.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 (96) hide show
  1. package/dist/agent-imports.d.ts +42 -0
  2. package/dist/agent-imports.js +11 -0
  3. package/dist/agent-imports.js.map +1 -0
  4. package/dist/checkpoint.d.ts +78 -0
  5. package/dist/checkpoint.js +16 -0
  6. package/dist/checkpoint.js.map +1 -0
  7. package/dist/context-detail.d.ts +3 -3
  8. package/dist/delegation.d.ts +206 -0
  9. package/dist/delegation.js +32 -0
  10. package/dist/delegation.js.map +1 -0
  11. package/dist/gateway-session.d.ts +183 -6
  12. package/dist/gateway-session.js +28 -2
  13. package/dist/gateway-session.js.map +1 -1
  14. package/dist/groups-native.d.ts +427 -0
  15. package/dist/groups-native.js +40 -0
  16. package/dist/groups-native.js.map +1 -0
  17. package/dist/groups.d.ts +1545 -0
  18. package/dist/groups.js +12 -0
  19. package/dist/groups.js.map +1 -0
  20. package/dist/index.d.ts +9 -0
  21. package/dist/index.js +9 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/mcp-cost-policy.d.ts +110 -0
  24. package/dist/mcp-cost-policy.js +24 -0
  25. package/dist/mcp-cost-policy.js.map +1 -0
  26. package/dist/openapi.js +4 -0
  27. package/dist/openapi.js.map +1 -1
  28. package/dist/outbound-drafts.d.ts +114 -0
  29. package/dist/outbound-drafts.js +20 -0
  30. package/dist/outbound-drafts.js.map +1 -0
  31. package/dist/plan-usage.d.ts +92 -0
  32. package/dist/plan-usage.js +20 -0
  33. package/dist/plan-usage.js.map +1 -0
  34. package/dist/prompt-queue.d.ts +96 -0
  35. package/dist/prompt-queue.js +19 -0
  36. package/dist/prompt-queue.js.map +1 -0
  37. package/dist/router.d.ts +13 -17691
  38. package/dist/router.js +4 -1
  39. package/dist/router.js.map +1 -1
  40. package/dist/routes/automation.d.ts +335 -16
  41. package/dist/routes/automation.js +16 -2
  42. package/dist/routes/automation.js.map +1 -1
  43. package/dist/routes/chat.d.ts +756 -83
  44. package/dist/routes/core.d.ts +2 -2
  45. package/dist/routes/git.d.ts +50 -0
  46. package/dist/routes/git.js +3 -2
  47. package/dist/routes/git.js.map +1 -1
  48. package/dist/routes/groups.d.ts +860 -0
  49. package/dist/routes/groups.js +13 -0
  50. package/dist/routes/groups.js.map +1 -0
  51. package/dist/routes/raw.js +13 -3
  52. package/dist/routes/raw.js.map +1 -1
  53. package/dist/routes/sessions.d.ts +2055 -214
  54. package/dist/routes/sessions.js +5 -0
  55. package/dist/routes/sessions.js.map +1 -1
  56. package/dist/routes/settings.d.ts +949 -1
  57. package/dist/routes/settings.js +26 -0
  58. package/dist/routes/settings.js.map +1 -1
  59. package/dist/routes/tools.d.ts +640 -51
  60. package/dist/routes/tools.js +24 -3
  61. package/dist/routes/tools.js.map +1 -1
  62. package/dist/routes/workspaces.d.ts +47 -2
  63. package/dist/routes/workspaces.js +5 -4
  64. package/dist/routes/workspaces.js.map +1 -1
  65. package/dist/sidecar/methods.d.ts +827 -29
  66. package/dist/sidecar/methods.js +3 -1
  67. package/dist/sidecar/methods.js.map +1 -1
  68. package/dist/sidecar/namespaces.d.ts +941 -42
  69. package/dist/sidecar/namespaces.js +66 -6
  70. package/dist/sidecar/namespaces.js.map +1 -1
  71. package/dist/sidecar/rpc.d.ts +3 -3
  72. package/dist/sidecar/runtime.d.ts +43 -0
  73. package/dist/sidecar/runtime.js +12 -2
  74. package/dist/sidecar/runtime.js.map +1 -1
  75. package/dist/sidecar/version.d.ts +1 -1
  76. package/dist/sidecar/version.js +1 -1
  77. package/dist/sse.d.ts +219 -26
  78. package/dist/sse.js +11 -5
  79. package/dist/sse.js.map +1 -1
  80. package/dist/views.d.ts +1916 -175
  81. package/dist/views.js +100 -35
  82. package/dist/views.js.map +1 -1
  83. package/fixtures/sidecar/agent-imports.json +6 -0
  84. package/fixtures/sidecar/aux.json +58 -0
  85. package/fixtures/sidecar/connectors.json +29 -0
  86. package/fixtures/sidecar/gateway.json +45 -0
  87. package/fixtures/sidecar/groups.json +18 -0
  88. package/fixtures/sidecar/kanban.json +197 -0
  89. package/fixtures/sidecar/managed-buffers.json +16 -0
  90. package/fixtures/sidecar/mcp.json +12 -0
  91. package/fixtures/sidecar/outbound-drafts.json +1 -0
  92. package/fixtures/sidecar/providers.json +37 -1
  93. package/fixtures/sidecar/runtime.json +3 -3
  94. package/fixtures/sidecar/skills.json +19 -2
  95. package/fixtures/sidecar/tts.json +6 -0
  96. package/package.json +1 -1
package/dist/groups.js ADDED
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ import { MessageSchema } from './views.js';
3
+ import { GroupIdSchema, GroupMemberSchema, GroupTaskActionSchema, GroupAttachmentSchema } from './groups-native.js';
4
+ export * from './groups-native.js';
5
+ const Id = GroupIdSchema;
6
+ export const GroupRoomSchema = z.object({ id: Id, name: z.string(), identity: z.string(), revision: z.number().int(), disbanded: z.boolean(), max_upload_bytes: z.number().int().positive(), attachment_limit: z.number().int().positive(), members: z.array(GroupMemberSchema.extend({ phase: z.enum(['idle', 'queued', 'running', 'stopping', 'unknown', 'failed', 'approval']), actions: z.array(GroupTaskActionSchema) })), actions: z.array(z.enum(['send', 'rename', 'disband', 'stop'])) });
7
+ export const GroupRowSchema = z.object({ key: z.string(), index: z.number().int(), author: z.string(), message: MessageSchema, attachments: z.array(GroupAttachmentSchema.extend({ event_id: Id, download_url: z.string() })) });
8
+ export const GroupViewSchema = z.object({ available: z.boolean(), reason: z.enum(['unsupported', 'stopped', 'refused', 'unavailable', 'unknown', 'driver_inactive']).nullable(), room: GroupRoomSchema.nullable(), rows: z.array(GroupRowSchema), cursor: z.number().int().nonnegative(), has_more: z.boolean(), next_before_seq: z.number().int().positive().nullable() });
9
+ export const GroupCatalogSchema = z.object({ identity: z.string().nullable(), available: z.boolean(), reason: GroupViewSchema.shape.reason, profiles: z.array(z.object({ profile: z.string(), label: z.string() })), rooms: z.array(GroupRoomSchema), actions: z.array(z.literal('create')), next_offset: z.number().int().nullable() });
10
+ export const GroupWriteResultSchema = z.object({ outcome: z.enum(['confirmed', 'refused', 'unknown']), reason: GroupViewSchema.shape.reason, room_id: Id, event_id: Id.nullable(), attachment: GroupAttachmentSchema.nullable() });
11
+ export const GroupStreamEventSchema = z.object({ event: z.literal('snapshot'), data: GroupViewSchema });
12
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export * from './routes/settings.js';
9
9
  export * from './routes/tools.js';
10
10
  export * from './routes/automation.js';
11
11
  export * from './views.js';
12
+ export * from './outbound-drafts.js';
12
13
  export * from './gateway-session.js';
13
14
  export * from './sse.js';
14
15
  export * from './run-status.js';
@@ -17,3 +18,11 @@ export * from './theme.js';
17
18
  export { routeContract, type RouteContract } from './router.js';
18
19
  export { generateOpenApiDocument, OPENAPI_INFO } from './openapi.js';
19
20
  export * from './context-detail.js';
21
+ export * from './agent-imports.js';
22
+ export * from './checkpoint.js';
23
+ export * from './prompt-queue.js';
24
+ export * from './mcp-cost-policy.js';
25
+ export * from './delegation.js';
26
+ export * from './groups.js';
27
+ export * from './routes/groups.js';
28
+ export * from './plan-usage.js';
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ export * from './routes/settings.js';
9
9
  export * from './routes/tools.js';
10
10
  export * from './routes/automation.js';
11
11
  export * from './views.js';
12
+ export * from './outbound-drafts.js';
12
13
  export * from './gateway-session.js';
13
14
  export * from './sse.js';
14
15
  export * from './run-status.js';
@@ -17,4 +18,12 @@ export * from './theme.js';
17
18
  export { routeContract } from './router.js';
18
19
  export { generateOpenApiDocument, OPENAPI_INFO } from './openapi.js';
19
20
  export * from './context-detail.js';
21
+ export * from './agent-imports.js';
22
+ export * from './checkpoint.js';
23
+ export * from './prompt-queue.js';
24
+ export * from './mcp-cost-policy.js';
25
+ export * from './delegation.js';
26
+ export * from './groups.js';
27
+ export * from './routes/groups.js';
28
+ export * from './plan-usage.js';
20
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAsB,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACpE,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAsB,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACpE,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,110 @@
1
+ import { z } from 'zod';
2
+ export declare const McpToolCostSchema: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>, z.ZodObject<{
3
+ credits: z.ZodUnion<readonly [z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>;
4
+ note: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strict>]>;
6
+ /** Null removes a native override; zero explicitly disables a limit or declares a free tool. */
7
+ export declare const McpCostPatchSchema: z.ZodObject<{
8
+ tool_costs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>, z.ZodObject<{
9
+ credits: z.ZodUnion<readonly [z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>;
10
+ note: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strict>]>>>>;
12
+ spend_limit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
13
+ cost_unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
+ }, z.core.$strict>;
15
+ /** Native parser result, without transport inputs, credentials, spend tallies or vendor billing claims. */
16
+ export declare const McpCostPolicyDataSchema: z.ZodObject<{
17
+ name: z.ZodString;
18
+ source: z.ZodEnum<{
19
+ native: "native";
20
+ package: "package";
21
+ native_override: "native_override";
22
+ }>;
23
+ valid: z.ZodBoolean;
24
+ can_edit: z.ZodBoolean;
25
+ error: z.ZodNullable<z.ZodString>;
26
+ package_revision: z.ZodString;
27
+ overrides: z.ZodObject<{
28
+ tool_costs: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>, z.ZodObject<{
29
+ credits: z.ZodUnion<readonly [z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>;
30
+ note: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strict>]>>>;
32
+ spend_limit: z.ZodNullable<z.ZodNumber>;
33
+ cost_unit: z.ZodNullable<z.ZodString>;
34
+ }, z.core.$strip>;
35
+ tool_costs: z.ZodArray<z.ZodObject<{
36
+ name: z.ZodString;
37
+ low: z.ZodNumber;
38
+ high: z.ZodNumber;
39
+ note: z.ZodString;
40
+ }, z.core.$strip>>;
41
+ spend_limit: z.ZodNumber;
42
+ cost_unit: z.ZodString;
43
+ budget_enabled: z.ZodBoolean;
44
+ field_sources: z.ZodObject<{
45
+ tool_costs: z.ZodEnum<{
46
+ default: "default";
47
+ native: "native";
48
+ package: "package";
49
+ }>;
50
+ spend_limit: z.ZodEnum<{
51
+ default: "default";
52
+ native: "native";
53
+ package: "package";
54
+ }>;
55
+ cost_unit: z.ZodEnum<{
56
+ default: "default";
57
+ native: "native";
58
+ package: "package";
59
+ }>;
60
+ }, z.core.$strip>;
61
+ }, z.core.$strip>;
62
+ export declare const McpCostPolicySchema: z.ZodObject<{
63
+ error: z.ZodNullable<z.ZodString>;
64
+ source: z.ZodEnum<{
65
+ native: "native";
66
+ package: "package";
67
+ native_override: "native_override";
68
+ }>;
69
+ name: z.ZodString;
70
+ can_edit: z.ZodBoolean;
71
+ tool_costs: z.ZodArray<z.ZodObject<{
72
+ name: z.ZodString;
73
+ low: z.ZodNumber;
74
+ high: z.ZodNumber;
75
+ note: z.ZodString;
76
+ }, z.core.$strip>>;
77
+ spend_limit: z.ZodNumber;
78
+ cost_unit: z.ZodString;
79
+ valid: z.ZodBoolean;
80
+ overrides: z.ZodObject<{
81
+ tool_costs: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>, z.ZodObject<{
82
+ credits: z.ZodUnion<readonly [z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>;
83
+ note: z.ZodOptional<z.ZodString>;
84
+ }, z.core.$strict>]>>>;
85
+ spend_limit: z.ZodNullable<z.ZodNumber>;
86
+ cost_unit: z.ZodNullable<z.ZodString>;
87
+ }, z.core.$strip>;
88
+ budget_enabled: z.ZodBoolean;
89
+ field_sources: z.ZodObject<{
90
+ tool_costs: z.ZodEnum<{
91
+ default: "default";
92
+ native: "native";
93
+ package: "package";
94
+ }>;
95
+ spend_limit: z.ZodEnum<{
96
+ default: "default";
97
+ native: "native";
98
+ package: "package";
99
+ }>;
100
+ cost_unit: z.ZodEnum<{
101
+ default: "default";
102
+ native: "native";
103
+ package: "package";
104
+ }>;
105
+ }, z.core.$strip>;
106
+ revision: z.ZodString;
107
+ provenance: z.ZodLiteral<"declared_estimate">;
108
+ reload_required: z.ZodLiteral<true>;
109
+ runtime_state: z.ZodLiteral<"unknown">;
110
+ }, z.core.$strip>;
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+ const Amount = z.number().nonnegative();
3
+ const Estimate = z.union([Amount, z.tuple([Amount, Amount]).refine(([low, high]) => low <= high, 'Minimum must not exceed maximum')]);
4
+ export const McpToolCostSchema = z.union([Estimate, z.strictObject({ credits: Estimate, note: z.string().optional() })]);
5
+ /** Null removes a native override; zero explicitly disables a limit or declares a free tool. */
6
+ export const McpCostPatchSchema = z.strictObject({
7
+ tool_costs: z.record(z.string().min(1), McpToolCostSchema).nullable().optional(),
8
+ spend_limit: Amount.nullable().optional(),
9
+ cost_unit: z.string().max(32).refine((s) => s.trim().length > 0, 'Unit must not be blank').nullable().optional(),
10
+ }).refine((p) => Object.keys(p).length > 0, 'Choose a policy field to edit');
11
+ const Source = z.enum(['native', 'package', 'default']);
12
+ /** Native parser result, without transport inputs, credentials, spend tallies or vendor billing claims. */
13
+ export const McpCostPolicyDataSchema = z.object({
14
+ name: z.string(), source: z.enum(['native', 'package', 'native_override']), valid: z.boolean(), can_edit: z.boolean(), error: z.string().nullable(),
15
+ package_revision: z.string(),
16
+ overrides: z.object({ tool_costs: z.record(z.string(), McpToolCostSchema).nullable(), spend_limit: Amount.nullable(), cost_unit: z.string().nullable() }),
17
+ tool_costs: z.array(z.object({ name: z.string(), low: Amount, high: Amount, note: z.string() })),
18
+ spend_limit: Amount, cost_unit: z.string(), budget_enabled: z.boolean(),
19
+ field_sources: z.object({ tool_costs: Source, spend_limit: Source, cost_unit: Source }),
20
+ });
21
+ export const McpCostPolicySchema = McpCostPolicyDataSchema.omit({ package_revision: true }).extend({
22
+ revision: z.string(), provenance: z.literal('declared_estimate'), reload_required: z.literal(true), runtime_state: z.literal('unknown'),
23
+ });
24
+ //# sourceMappingURL=mcp-cost-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-cost-policy.js","sourceRoot":"","sources":["../src/mcp-cost-policy.ts"],"names":[],"mappings":"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"}
package/dist/openapi.js CHANGED
@@ -2,6 +2,7 @@ import { OpenAPIGenerator } from '@orpc/openapi';
2
2
  import { ZodToJsonSchemaConverter } from '@orpc/zod/zod4';
3
3
  import { routeContract } from './router.js';
4
4
  import { z } from 'zod';
5
+ import { FeedbackErrorSchema } from './routes/settings.js';
5
6
  import { ModelConfirmationRequiredSchema } from './routes/sessions.js';
6
7
  import { RAW_ROUTES } from './routes/raw.js';
7
8
  export const OPENAPI_INFO = {
@@ -31,6 +32,9 @@ export async function generateOpenApiDocument() {
31
32
  }
32
33
  const update = paths['/api/session/update']?.post;
33
34
  update.responses['409'] = { description: 'Model selection requires confirmation. No session state changed.', content: { 'application/json': { schema: z.toJSONSchema(ModelConfirmationRequiredSchema) } } };
35
+ const feedback = paths['/api/feedback/submit']?.post;
36
+ for (const status of ['400', '429', '502', '503'])
37
+ feedback.responses[status] = { description: 'Feedback could not be confirmed sent. Only relay_unreachable permits an automatic retry with the same requestId.', content: { 'application/json': { schema: z.toJSONSchema(FeedbackErrorSchema) } } };
34
38
  document.paths = paths;
35
39
  return document;
36
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,wHAAwH;CAC7H,CAAA;AAEV,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC,IAAI,wBAAwB,EAAE,CAAC,EAAE,CAAC,CAAA;IAC9F,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAChF,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAA4C,CAAA;IAC/E,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,SAAS,GAA4B;YACzC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChL,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;oBAC1F,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3G,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnK,CAAC,CAAC,CAAC;SACL,CAAA;QACD,IAAI,KAAK,CAAC,WAAW;YAAE,SAAS,CAAC,WAAW,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAA;QAC/J,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAA;IAC/F,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,EAAE,IAA8C,CAAA;IAC3F,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,kEAAkE,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,+BAA+B,CAAC,EAAE,EAAE,EAAE,CAAA;IAC3M,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,wHAAwH;CAC7H,CAAA;AAEV,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC,IAAI,wBAAwB,EAAE,CAAC,EAAE,CAAC,CAAA;IAC9F,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAChF,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAA4C,CAAA;IAC/E,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,SAAS,GAA4B;YACzC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChL,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;oBAC1F,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3G,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnK,CAAC,CAAC,CAAC;SACL,CAAA;QACD,IAAI,KAAK,CAAC,WAAW;YAAE,SAAS,CAAC,WAAW,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAA;QAC/J,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAA;IAC/F,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,EAAE,IAA8C,CAAA;IAC3F,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,kEAAkE,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,+BAA+B,CAAC,EAAE,EAAE,EAAE,CAAA;IAC3M,MAAM,QAAQ,GAAG,KAAK,CAAC,sBAAsB,CAAC,EAAE,IAA8C,CAAA;IAC9F,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,kHAAkH,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAA;IACrS,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { z } from 'zod';
2
+ /** A locator from a tool reply, never trusted content or permission. The backend resolves it again. */
3
+ export declare const OutboundDraftRefSchema: z.ZodObject<{
4
+ draft_id: z.ZodString;
5
+ card: z.ZodNumber;
6
+ }, z.core.$strip>;
7
+ export type OutboundDraftRef = z.infer<typeof OutboundDraftRefSchema>;
8
+ export declare const OutboundDraftFieldsSchema: z.ZodObject<{
9
+ from: z.ZodString;
10
+ to: z.ZodArray<z.ZodString>;
11
+ cc: z.ZodArray<z.ZodString>;
12
+ bcc: z.ZodArray<z.ZodString>;
13
+ subject: z.ZodString;
14
+ body: z.ZodString;
15
+ }, z.core.$strip>;
16
+ /** Server/sidecar-owned content, state, provenance and actions; clients only format and render them. */
17
+ export declare const OutboundDraftSchema: z.ZodObject<{
18
+ draft_id: z.ZodString;
19
+ card: z.ZodNumber;
20
+ producer: z.ZodLiteral<"draft-cards">;
21
+ producer_revision: z.ZodString;
22
+ kind: z.ZodEnum<{
23
+ message: "message";
24
+ email: "email";
25
+ }>;
26
+ platform: z.ZodString;
27
+ version: z.ZodNumber;
28
+ revision: z.ZodString;
29
+ fields: z.ZodObject<{
30
+ from: z.ZodString;
31
+ to: z.ZodArray<z.ZodString>;
32
+ cc: z.ZodArray<z.ZodString>;
33
+ bcc: z.ZodArray<z.ZodString>;
34
+ subject: z.ZodString;
35
+ body: z.ZodString;
36
+ }, z.core.$strip>;
37
+ state: z.ZodEnum<{
38
+ unavailable: "unavailable";
39
+ draft: "draft";
40
+ approved: "approved";
41
+ sent: "sent";
42
+ saved: "saved";
43
+ failed: "failed";
44
+ discarded: "discarded";
45
+ superseded: "superseded";
46
+ }>;
47
+ can_edit: z.ZodBoolean;
48
+ can_approve: z.ZodBoolean;
49
+ masked: z.ZodBoolean;
50
+ }, z.core.$strip>;
51
+ export type OutboundDraft = z.infer<typeof OutboundDraftSchema>;
52
+ export declare const OutboundDraftResultSchema: z.ZodObject<{
53
+ draft: z.ZodNullable<z.ZodObject<{
54
+ draft_id: z.ZodString;
55
+ card: z.ZodNumber;
56
+ producer: z.ZodLiteral<"draft-cards">;
57
+ producer_revision: z.ZodString;
58
+ kind: z.ZodEnum<{
59
+ message: "message";
60
+ email: "email";
61
+ }>;
62
+ platform: z.ZodString;
63
+ version: z.ZodNumber;
64
+ revision: z.ZodString;
65
+ fields: z.ZodObject<{
66
+ from: z.ZodString;
67
+ to: z.ZodArray<z.ZodString>;
68
+ cc: z.ZodArray<z.ZodString>;
69
+ bcc: z.ZodArray<z.ZodString>;
70
+ subject: z.ZodString;
71
+ body: z.ZodString;
72
+ }, z.core.$strip>;
73
+ state: z.ZodEnum<{
74
+ unavailable: "unavailable";
75
+ draft: "draft";
76
+ approved: "approved";
77
+ sent: "sent";
78
+ saved: "saved";
79
+ failed: "failed";
80
+ discarded: "discarded";
81
+ superseded: "superseded";
82
+ }>;
83
+ can_edit: z.ZodBoolean;
84
+ can_approve: z.ZodBoolean;
85
+ masked: z.ZodBoolean;
86
+ }, z.core.$strip>>;
87
+ }, z.core.$strip>;
88
+ export declare const OutboundDraftQuerySchema: z.ZodObject<{
89
+ draft_id: z.ZodString;
90
+ card: z.ZodNumber;
91
+ session_id: z.ZodString;
92
+ tool_call_id: z.ZodString;
93
+ }, z.core.$strip>;
94
+ export declare const OutboundDraftActionSchema: z.ZodObject<{
95
+ draft_id: z.ZodString;
96
+ card: z.ZodNumber;
97
+ session_id: z.ZodString;
98
+ tool_call_id: z.ZodString;
99
+ action: z.ZodEnum<{
100
+ edit: "edit";
101
+ approve: "approve";
102
+ }>;
103
+ version: z.ZodNumber;
104
+ revision: z.ZodString;
105
+ fields: z.ZodOptional<z.ZodObject<{
106
+ from: z.ZodString;
107
+ to: z.ZodArray<z.ZodString>;
108
+ cc: z.ZodArray<z.ZodString>;
109
+ bcc: z.ZodArray<z.ZodString>;
110
+ subject: z.ZodString;
111
+ body: z.ZodString;
112
+ }, z.core.$strip>>;
113
+ }, z.core.$strip>;
114
+ export type OutboundDraftAction = z.infer<typeof OutboundDraftActionSchema>;
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ /** A locator from a tool reply, never trusted content or permission. The backend resolves it again. */
3
+ export const OutboundDraftRefSchema = z.object({ draft_id: z.string().regex(/^d_[0-9a-f]{8}$/), card: z.number().int().positive() });
4
+ export const OutboundDraftFieldsSchema = z.object({
5
+ from: z.string().max(320), to: z.array(z.string().max(320)).max(50), cc: z.array(z.string().max(320)).max(50), bcc: z.array(z.string().max(320)).max(50),
6
+ subject: z.string().max(300), body: z.string().max(20_000),
7
+ });
8
+ /** Server/sidecar-owned content, state, provenance and actions; clients only format and render them. */
9
+ export const OutboundDraftSchema = OutboundDraftRefSchema.extend({
10
+ producer: z.literal('draft-cards'), producer_revision: z.string(), kind: z.enum(['email', 'message']), platform: z.string(),
11
+ version: z.number().int().positive(), revision: z.string(), fields: OutboundDraftFieldsSchema,
12
+ state: z.enum(['draft', 'approved', 'sent', 'saved', 'failed', 'discarded', 'superseded', 'unavailable']),
13
+ can_edit: z.boolean(), can_approve: z.boolean(), masked: z.boolean(),
14
+ });
15
+ export const OutboundDraftResultSchema = z.object({ draft: OutboundDraftSchema.nullable() });
16
+ export const OutboundDraftQuerySchema = OutboundDraftRefSchema.extend({ session_id: z.string().min(1), tool_call_id: z.string().min(1) });
17
+ export const OutboundDraftActionSchema = OutboundDraftQuerySchema.extend({
18
+ action: z.enum(['edit', 'approve']), version: z.number().int().positive(), revision: z.string().min(1), fields: OutboundDraftFieldsSchema.optional(),
19
+ });
20
+ //# sourceMappingURL=outbound-drafts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-drafts.js","sourceRoot":"","sources":["../src/outbound-drafts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { z } from 'zod';
2
+ /** Native allowance snapshots, shared by the catalog, quota and persisted run views. */
3
+ export declare const PlanGaugeSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ label: z.ZodString;
6
+ used_bp: z.ZodNumber;
7
+ resets_at_ms: z.ZodNullable<z.ZodNumber>;
8
+ }, z.core.$strip>;
9
+ export type PlanGauge = z.infer<typeof PlanGaugeSchema>;
10
+ export declare const PlanUsageSchema: z.ZodObject<{
11
+ kind: z.ZodLiteral<"usage_window">;
12
+ plan: z.ZodNullable<z.ZodString>;
13
+ gauges: z.ZodArray<z.ZodObject<{
14
+ label: z.ZodString;
15
+ left_fraction: z.ZodNumber;
16
+ style: z.ZodEnum<{
17
+ green: "green";
18
+ yellow: "yellow";
19
+ red: "red";
20
+ }>;
21
+ resets_at_ms: z.ZodNullable<z.ZodNumber>;
22
+ scope: z.ZodString;
23
+ title: z.ZodString;
24
+ }, z.core.$strip>>;
25
+ top_tier_model_ids: z.ZodArray<z.ZodString>;
26
+ featured_model_ids: z.ZodArray<z.ZodString>;
27
+ paused_reason: z.ZodNullable<z.ZodString>;
28
+ credits_pay: z.ZodNullable<z.ZodBoolean>;
29
+ }, z.core.$strip>;
30
+ export type PlanUsage = z.infer<typeof PlanUsageSchema>;
31
+ export declare const ModelAllowanceSchema: z.ZodObject<{
32
+ state: z.ZodEnum<{
33
+ unknown: "unknown";
34
+ blocked: "blocked";
35
+ included: "included";
36
+ free: "free";
37
+ credits: "credits";
38
+ }>;
39
+ usage_level: z.ZodNullable<z.ZodEnum<{
40
+ free: "free";
41
+ low: "low";
42
+ medium: "medium";
43
+ top_tier: "top_tier";
44
+ }>>;
45
+ resets_at_ms: z.ZodNullable<z.ZodNumber>;
46
+ }, z.core.$strip>;
47
+ export type ModelAllowance = z.infer<typeof ModelAllowanceSchema>;
48
+ export declare const ModelSectionsSchema: z.ZodArray<z.ZodObject<{
49
+ kind: z.ZodEnum<{
50
+ recommended: "recommended";
51
+ other: "other";
52
+ }>;
53
+ model_ids: z.ZodArray<z.ZodString>;
54
+ }, z.core.$strip>>;
55
+ export declare const ModelAllowanceSnapshotSchema: z.ZodObject<{
56
+ metadata_status: z.ZodOptional<z.ZodEnum<{
57
+ error: "error";
58
+ unsupported: "unsupported";
59
+ current: "current";
60
+ pending: "pending";
61
+ stale: "stale";
62
+ }>>;
63
+ plan_usage: z.ZodOptional<z.ZodNullable<z.ZodObject<{
64
+ kind: z.ZodLiteral<"usage_window">;
65
+ plan: z.ZodNullable<z.ZodString>;
66
+ gauges: z.ZodArray<z.ZodObject<{
67
+ label: z.ZodString;
68
+ left_fraction: z.ZodNumber;
69
+ style: z.ZodEnum<{
70
+ green: "green";
71
+ yellow: "yellow";
72
+ red: "red";
73
+ }>;
74
+ resets_at_ms: z.ZodNullable<z.ZodNumber>;
75
+ scope: z.ZodString;
76
+ title: z.ZodString;
77
+ }, z.core.$strip>>;
78
+ top_tier_model_ids: z.ZodArray<z.ZodString>;
79
+ featured_model_ids: z.ZodArray<z.ZodString>;
80
+ paused_reason: z.ZodNullable<z.ZodString>;
81
+ credits_pay: z.ZodNullable<z.ZodBoolean>;
82
+ }, z.core.$strip>>>;
83
+ usage_levels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
84
+ free: "free";
85
+ low: "low";
86
+ medium: "medium";
87
+ top_tier: "top_tier";
88
+ }>>>;
89
+ unavailable_model_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
+ allowance_pending: z.ZodOptional<z.ZodBoolean>;
91
+ free_tier: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
92
+ }, z.core.$strip>;
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ /** Native allowance snapshots, shared by the catalog, quota and persisted run views. */
3
+ export const PlanGaugeSchema = z.object({ id: z.string().max(128), label: z.string().max(256), used_bp: z.number().int().min(0).max(10000), resets_at_ms: z.number().int().nonnegative().nullable() });
4
+ export const PlanUsageSchema = z.object({
5
+ kind: z.literal('usage_window'), plan: z.string().nullable(),
6
+ gauges: z.array(z.object({ label: z.string(), left_fraction: z.number().min(0).max(1), style: z.enum(['green', 'yellow', 'red']), resets_at_ms: z.number().int().nonnegative().max(8_640_000_000_000_000).nullable(), scope: z.string(), title: z.string() })),
7
+ top_tier_model_ids: z.array(z.string()), featured_model_ids: z.array(z.string()), paused_reason: z.string().nullable(), credits_pay: z.boolean().nullable(),
8
+ });
9
+ export const ModelAllowanceSchema = z.object({
10
+ state: z.enum(['included', 'free', 'blocked', 'credits', 'unknown']),
11
+ usage_level: z.enum(['free', 'low', 'medium', 'top_tier']).nullable(), resets_at_ms: z.number().int().nonnegative().max(8_640_000_000_000_000).nullable(),
12
+ });
13
+ export const ModelSectionsSchema = z.array(z.object({ kind: z.enum(['recommended', 'other']), model_ids: z.array(z.string()) }));
14
+ export const ModelAllowanceSnapshotSchema = z.object({
15
+ metadata_status: z.enum(['current', 'pending', 'stale', 'error', 'unsupported']).optional(),
16
+ plan_usage: PlanUsageSchema.nullable().optional(),
17
+ usage_levels: z.record(z.string(), z.enum(['free', 'low', 'medium', 'top_tier'])).optional(),
18
+ unavailable_model_ids: z.array(z.string()).optional(), allowance_pending: z.boolean().optional(), free_tier: z.boolean().nullable().optional(),
19
+ });
20
+ //# sourceMappingURL=plan-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-usage.js","sourceRoot":"","sources":["../src/plan-usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { z } from 'zod';
2
+ export declare const PromptQueueActionSchema: z.ZodEnum<{
3
+ cancel: "cancel";
4
+ start: "start";
5
+ pause: "pause";
6
+ resume: "resume";
7
+ reconcile: "reconcile";
8
+ }>;
9
+ export declare const PromptQueueCardInputSchema: z.ZodObject<{
10
+ session_id: z.ZodString;
11
+ project_id: z.ZodNullable<z.ZodString>;
12
+ text: z.ZodString;
13
+ }, z.core.$strip>;
14
+ export declare const PromptQueueCardsSchema: z.ZodArray<z.ZodObject<{
15
+ session_id: z.ZodString;
16
+ project_id: z.ZodNullable<z.ZodString>;
17
+ text: z.ZodString;
18
+ }, z.core.$strip>>;
19
+ export declare const PromptQueueCardSchema: z.ZodObject<{
20
+ session_id: z.ZodString;
21
+ project_id: z.ZodNullable<z.ZodString>;
22
+ text: z.ZodString;
23
+ request_id: z.ZodString;
24
+ title: z.ZodString;
25
+ backend: z.ZodEnum<{
26
+ owner: "owner";
27
+ direct: "direct";
28
+ }>;
29
+ authority_epoch: z.ZodNullable<z.ZodNumber>;
30
+ status: z.ZodEnum<{
31
+ unknown: "unknown";
32
+ running: "running";
33
+ refused: "refused";
34
+ failed: "failed";
35
+ completed: "completed";
36
+ waiting: "waiting";
37
+ dispatching: "dispatching";
38
+ }>;
39
+ stream_id: z.ZodNullable<z.ZodString>;
40
+ admission_id: z.ZodNullable<z.ZodString>;
41
+ outcome: z.ZodNullable<z.ZodString>;
42
+ }, z.core.$strip>;
43
+ export declare const PromptQueueRunSchema: z.ZodObject<{
44
+ id: z.ZodString;
45
+ title: z.ZodString;
46
+ revision: z.ZodNumber;
47
+ profile: z.ZodString;
48
+ phase: z.ZodEnum<{
49
+ unknown: "unknown";
50
+ running: "running";
51
+ refused: "refused";
52
+ draft: "draft";
53
+ failed: "failed";
54
+ cancelled: "cancelled";
55
+ paused: "paused";
56
+ completed: "completed";
57
+ }>;
58
+ current_step: z.ZodNumber;
59
+ cards: z.ZodArray<z.ZodObject<{
60
+ session_id: z.ZodString;
61
+ project_id: z.ZodNullable<z.ZodString>;
62
+ text: z.ZodString;
63
+ request_id: z.ZodString;
64
+ title: z.ZodString;
65
+ backend: z.ZodEnum<{
66
+ owner: "owner";
67
+ direct: "direct";
68
+ }>;
69
+ authority_epoch: z.ZodNullable<z.ZodNumber>;
70
+ status: z.ZodEnum<{
71
+ unknown: "unknown";
72
+ running: "running";
73
+ refused: "refused";
74
+ failed: "failed";
75
+ completed: "completed";
76
+ waiting: "waiting";
77
+ dispatching: "dispatching";
78
+ }>;
79
+ stream_id: z.ZodNullable<z.ZodString>;
80
+ admission_id: z.ZodNullable<z.ZodString>;
81
+ outcome: z.ZodNullable<z.ZodString>;
82
+ }, z.core.$strip>>;
83
+ actions: z.ZodArray<z.ZodEnum<{
84
+ cancel: "cancel";
85
+ start: "start";
86
+ pause: "pause";
87
+ resume: "resume";
88
+ reconcile: "reconcile";
89
+ }>>;
90
+ editable: z.ZodBoolean;
91
+ error: z.ZodNullable<z.ZodString>;
92
+ }, z.core.$strip>;
93
+ export type PromptQueueCardInput = z.infer<typeof PromptQueueCardInputSchema>;
94
+ export type PromptQueueCard = z.infer<typeof PromptQueueCardSchema>;
95
+ export type PromptQueueRun = z.infer<typeof PromptQueueRunSchema>;
96
+ export type PromptQueueAction = z.infer<typeof PromptQueueActionSchema>;
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ // A cross-chat lifetime cannot belong to a session's pending admissions or cron schedule.
3
+ export const PromptQueueActionSchema = z.enum(['start', 'pause', 'resume', 'cancel', 'reconcile']);
4
+ export const PromptQueueCardInputSchema = z.object({
5
+ session_id: z.string().min(1).max(256), project_id: z.string().nullable(), text: z.string().trim().min(1).max(32_000),
6
+ });
7
+ export const PromptQueueCardsSchema = z.array(PromptQueueCardInputSchema).min(1).max(100);
8
+ export const PromptQueueCardSchema = PromptQueueCardInputSchema.extend({
9
+ request_id: z.string(), title: z.string(), backend: z.enum(['direct', 'owner']), authority_epoch: z.number().int().nullable(),
10
+ status: z.enum(['waiting', 'dispatching', 'running', 'completed', 'failed', 'refused', 'unknown']),
11
+ stream_id: z.string().nullable(), admission_id: z.string().nullable(), outcome: z.string().nullable(),
12
+ });
13
+ export const PromptQueueRunSchema = z.object({
14
+ id: z.string(), title: z.string(), revision: z.number().int().nonnegative(), profile: z.string(),
15
+ phase: z.enum(['draft', 'running', 'paused', 'cancelled', 'completed', 'failed', 'refused', 'unknown']),
16
+ current_step: z.number().int().nonnegative(), cards: z.array(PromptQueueCardSchema),
17
+ actions: z.array(PromptQueueActionSchema), editable: z.boolean(), error: z.string().nullable(),
18
+ });
19
+ //# sourceMappingURL=prompt-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-queue.js","sourceRoot":"","sources":["../src/prompt-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,0FAA0F;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;AAClG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;CACtH,CAAC,CAAA;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,MAAM,CAAC;IACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC7H,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAClG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtG,CAAC,CAAA;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IAChG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACvG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACnF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/F,CAAC,CAAA"}