@fragno-dev/backoffice-api 0.0.0-stage → 0.0.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 (135) hide show
  1. package/LICENSE.md +16 -0
  2. package/README.md +90 -2
  3. package/dist/api.d.ts +35 -0
  4. package/dist/api.d.ts.map +1 -0
  5. package/dist/api.js +10 -0
  6. package/dist/api.js.map +1 -0
  7. package/dist/errors.d.ts +45 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +35 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/openapi.d.ts +46 -0
  12. package/dist/openapi.d.ts.map +1 -0
  13. package/dist/openapi.js +205 -0
  14. package/dist/openapi.js.map +1 -0
  15. package/dist/v0/account.d.ts +171 -0
  16. package/dist/v0/account.d.ts.map +1 -0
  17. package/dist/v0/account.js +78 -0
  18. package/dist/v0/account.js.map +1 -0
  19. package/dist/v0/api.d.ts +3437 -0
  20. package/dist/v0/api.d.ts.map +1 -0
  21. package/dist/v0/api.js +52 -0
  22. package/dist/v0/api.js.map +1 -0
  23. package/dist/v0/app-actions.d.ts +105 -0
  24. package/dist/v0/app-actions.d.ts.map +1 -0
  25. package/dist/v0/app-actions.js +100 -0
  26. package/dist/v0/app-actions.js.map +1 -0
  27. package/dist/v0/apps.d.ts +417 -0
  28. package/dist/v0/apps.d.ts.map +1 -0
  29. package/dist/v0/apps.js +163 -0
  30. package/dist/v0/apps.js.map +1 -0
  31. package/dist/v0/automation.d.ts +730 -0
  32. package/dist/v0/automation.d.ts.map +1 -0
  33. package/dist/v0/automation.js +355 -0
  34. package/dist/v0/automation.js.map +1 -0
  35. package/dist/v0/capabilities.d.ts +97 -0
  36. package/dist/v0/capabilities.d.ts.map +1 -0
  37. package/dist/v0/capabilities.js +41 -0
  38. package/dist/v0/capabilities.js.map +1 -0
  39. package/dist/v0/client.d.ts +39 -0
  40. package/dist/v0/client.d.ts.map +1 -0
  41. package/dist/v0/client.js +61 -0
  42. package/dist/v0/client.js.map +1 -0
  43. package/dist/v0/events.d.ts +789 -0
  44. package/dist/v0/events.d.ts.map +1 -0
  45. package/dist/v0/events.js +153 -0
  46. package/dist/v0/events.js.map +1 -0
  47. package/dist/v0/forms.d.ts +172 -0
  48. package/dist/v0/forms.d.ts.map +1 -0
  49. package/dist/v0/forms.js +88 -0
  50. package/dist/v0/forms.js.map +1 -0
  51. package/dist/v0/hooks.d.ts +61 -0
  52. package/dist/v0/hooks.d.ts.map +1 -0
  53. package/dist/v0/hooks.js +49 -0
  54. package/dist/v0/hooks.js.map +1 -0
  55. package/dist/v0/identity.d.ts +73 -0
  56. package/dist/v0/identity.d.ts.map +1 -0
  57. package/dist/v0/identity.js +46 -0
  58. package/dist/v0/identity.js.map +1 -0
  59. package/dist/v0/integrations.d.ts +847 -0
  60. package/dist/v0/integrations.d.ts.map +1 -0
  61. package/dist/v0/integrations.js +255 -0
  62. package/dist/v0/integrations.js.map +1 -0
  63. package/dist/v0/javascript.d.ts +160 -0
  64. package/dist/v0/javascript.d.ts.map +1 -0
  65. package/dist/v0/javascript.js +123 -0
  66. package/dist/v0/javascript.js.map +1 -0
  67. package/dist/v0/marketplace.d.ts +825 -0
  68. package/dist/v0/marketplace.d.ts.map +1 -0
  69. package/dist/v0/marketplace.js +284 -0
  70. package/dist/v0/marketplace.js.map +1 -0
  71. package/dist/v0/organization.d.ts +182 -0
  72. package/dist/v0/organization.d.ts.map +1 -0
  73. package/dist/v0/organization.js +88 -0
  74. package/dist/v0/organization.js.map +1 -0
  75. package/dist/v0/otp.d.ts +37 -0
  76. package/dist/v0/otp.d.ts.map +1 -0
  77. package/dist/v0/otp.js +29 -0
  78. package/dist/v0/otp.js.map +1 -0
  79. package/dist/v0/pi.d.ts +322 -0
  80. package/dist/v0/pi.d.ts.map +1 -0
  81. package/dist/v0/pi.js +146 -0
  82. package/dist/v0/pi.js.map +1 -0
  83. package/dist/v0/sandbox.d.ts +173 -0
  84. package/dist/v0/sandbox.d.ts.map +1 -0
  85. package/dist/v0/sandbox.js +97 -0
  86. package/dist/v0/sandbox.js.map +1 -0
  87. package/dist/v0/shared/bytes.d.ts +12 -0
  88. package/dist/v0/shared/bytes.d.ts.map +1 -0
  89. package/dist/v0/shared/bytes.js +16 -0
  90. package/dist/v0/shared/bytes.js.map +1 -0
  91. package/dist/v0/shared/datetime.d.ts +10 -0
  92. package/dist/v0/shared/datetime.d.ts.map +1 -0
  93. package/dist/v0/shared/datetime.js +14 -0
  94. package/dist/v0/shared/datetime.js.map +1 -0
  95. package/dist/v0/shared/json.d.ts +9 -0
  96. package/dist/v0/shared/json.d.ts.map +1 -0
  97. package/dist/v0/shared/json.js +14 -0
  98. package/dist/v0/shared/json.js.map +1 -0
  99. package/dist/v0/shared/pagination.d.ts +11 -0
  100. package/dist/v0/shared/pagination.d.ts.map +1 -0
  101. package/dist/v0/shared/pagination.js +11 -0
  102. package/dist/v0/shared/pagination.js.map +1 -0
  103. package/dist/v0/shared/permissions.d.ts +279 -0
  104. package/dist/v0/shared/permissions.d.ts.map +1 -0
  105. package/dist/v0/shared/permissions.js +285 -0
  106. package/dist/v0/shared/permissions.js.map +1 -0
  107. package/dist/v0/shared/pi-agent-name.d.ts +10 -0
  108. package/dist/v0/shared/pi-agent-name.d.ts.map +1 -0
  109. package/dist/v0/shared/pi-agent-name.js +11 -0
  110. package/dist/v0/shared/pi-agent-name.js.map +1 -0
  111. package/dist/v0/shared/scope.d.ts +305 -0
  112. package/dist/v0/shared/scope.d.ts.map +1 -0
  113. package/dist/v0/shared/scope.js +279 -0
  114. package/dist/v0/shared/scope.js.map +1 -0
  115. package/dist/v0/state.d.ts +512 -0
  116. package/dist/v0/state.d.ts.map +1 -0
  117. package/dist/v0/state.js +267 -0
  118. package/dist/v0/state.js.map +1 -0
  119. package/dist/v0/store.d.ts +138 -0
  120. package/dist/v0/store.d.ts.map +1 -0
  121. package/dist/v0/store.js +83 -0
  122. package/dist/v0/store.js.map +1 -0
  123. package/dist/v0/upload.d.ts +568 -0
  124. package/dist/v0/upload.d.ts.map +1 -0
  125. package/dist/v0/upload.js +109 -0
  126. package/dist/v0/upload.js.map +1 -0
  127. package/dist/v0/web.d.ts +47 -0
  128. package/dist/v0/web.d.ts.map +1 -0
  129. package/dist/v0/web.js +31 -0
  130. package/dist/v0/web.js.map +1 -0
  131. package/dist/v0/workflow.d.ts +267 -0
  132. package/dist/v0/workflow.d.ts.map +1 -0
  133. package/dist/v0/workflow.js +116 -0
  134. package/dist/v0/workflow.js.map +1 -0
  135. package/package.json +64 -3
@@ -0,0 +1,37 @@
1
+ import { z } from "zod";
2
+ //#region src/v0/otp.d.ts
3
+ declare const externalIdentitySchema: z.ZodLazy<z.ZodObject<{
4
+ scope: z.ZodLiteral<"external">;
5
+ source: z.ZodString;
6
+ type: z.ZodString;
7
+ id: z.ZodString;
8
+ }, z.core.$strict>>;
9
+ declare const otpOperations: {
10
+ "otp.identity.create-claim": {
11
+ description: string;
12
+ permissions: {
13
+ readonly namespace: "otp";
14
+ readonly permission: "create";
15
+ }[];
16
+ input: z.ZodLazy<z.ZodObject<{
17
+ ttlMinutes: z.ZodOptional<z.ZodNumber>;
18
+ }, z.core.$strict>>;
19
+ output: z.ZodLazy<z.ZodObject<{
20
+ url: z.ZodString;
21
+ otpId: z.ZodString;
22
+ externalId: z.ZodString;
23
+ code: z.ZodString;
24
+ actor: z.ZodLazy<z.ZodObject<{
25
+ scope: z.ZodLiteral<"external">;
26
+ source: z.ZodString;
27
+ type: z.ZodString;
28
+ id: z.ZodString;
29
+ }, z.core.$strict>>;
30
+ type: z.ZodOptional<z.ZodString>;
31
+ expiresAt: z.ZodOptional<z.ZodString>;
32
+ }, z.core.$strip>>;
33
+ };
34
+ };
35
+ //#endregion
36
+ export { externalIdentitySchema, otpOperations };
37
+ //# sourceMappingURL=otp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp.d.ts","names":[],"sources":["../../src/v0/otp.ts"],"mappings":";;cAKa,wBAAsB,EAAA,QAAA,EAAA;;;;;;cA2BtB"}
package/dist/v0/otp.js ADDED
@@ -0,0 +1,29 @@
1
+ import { BACKOFFICE_PERMISSION } from "./shared/permissions.js";
2
+ import { z } from "zod";
3
+ //#region src/v0/otp.ts
4
+ const externalIdentitySchema = z.lazy(() => z.strictObject({
5
+ scope: z.literal("external"),
6
+ source: z.string().trim().min(1),
7
+ type: z.string().trim().min(1),
8
+ id: z.string().trim().min(1)
9
+ }));
10
+ const createClaimInputSchema = z.lazy(() => z.strictObject({ ttlMinutes: z.number().int().positive().optional() }));
11
+ const identityClaimRecordSchema = z.lazy(() => z.object({
12
+ url: z.string().trim().min(1),
13
+ otpId: z.string().trim().min(1),
14
+ externalId: z.string().trim().min(1),
15
+ code: z.string().trim().min(1),
16
+ actor: externalIdentitySchema,
17
+ type: z.string().trim().min(1).optional(),
18
+ expiresAt: z.string().trim().min(1).optional()
19
+ }));
20
+ const otpOperations = { "otp.identity.create-claim": {
21
+ description: "Create a short-lived identity claim URL for the trusted external initiator.",
22
+ permissions: [BACKOFFICE_PERMISSION.otp.create],
23
+ input: createClaimInputSchema,
24
+ output: identityClaimRecordSchema
25
+ } };
26
+ //#endregion
27
+ export { externalIdentitySchema, otpOperations };
28
+
29
+ //# sourceMappingURL=otp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp.js","names":[],"sources":["../../src/v0/otp.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport type { BackofficeApiOperation } from \"../api\";\nimport { BACKOFFICE_PERMISSION } from \"./shared/permissions\";\n\nexport const externalIdentitySchema = z.lazy(() =>\n z.strictObject({\n scope: z.literal(\"external\"),\n source: z.string().trim().min(1),\n type: z.string().trim().min(1),\n id: z.string().trim().min(1),\n }),\n);\n\nconst createClaimInputSchema = z.lazy(() =>\n z.strictObject({\n ttlMinutes: z.number().int().positive().optional(),\n }),\n);\n\nconst identityClaimRecordSchema = z.lazy(() =>\n z.object({\n url: z.string().trim().min(1),\n otpId: z.string().trim().min(1),\n externalId: z.string().trim().min(1),\n code: z.string().trim().min(1),\n actor: externalIdentitySchema,\n type: z.string().trim().min(1).optional(),\n expiresAt: z.string().trim().min(1).optional(),\n }),\n);\n\nexport const otpOperations = {\n \"otp.identity.create-claim\": {\n description: \"Create a short-lived identity claim URL for the trusted external initiator.\",\n permissions: [BACKOFFICE_PERMISSION.otp.create],\n input: createClaimInputSchema,\n output: identityClaimRecordSchema,\n },\n} satisfies Record<string, BackofficeApiOperation>;\n"],"mappings":";;;AAKA,MAAa,yBAAyB,EAAE,WACtC,EAAE,aAAa;CACb,OAAO,EAAE,QAAQ,UAAU;CAC3B,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC/B,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC7B,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAC7B,CAAC,CACH;AAEA,MAAM,yBAAyB,EAAE,WAC/B,EAAE,aAAa,EACb,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EACnD,CAAC,CACH;AAEA,MAAM,4BAA4B,EAAE,WAClC,EAAE,OAAO;CACP,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC5B,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC9B,YAAY,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CACnC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC7B,OAAO;CACP,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;CACxC,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;AAC/C,CAAC,CACH;AAEA,MAAa,gBAAgB,EAC3B,6BAA6B;CAC3B,aAAa;CACb,aAAa,CAAC,sBAAsB,IAAI,MAAM;CAC9C,OAAO;CACP,QAAQ;AACV,EACF"}
@@ -0,0 +1,322 @@
1
+ import { BackofficePermissionRequirement } from "./shared/permissions.js";
2
+ import { AutomationRouteManagedBy } from "./automation.js";
3
+ import { z } from "zod";
4
+ //#region src/v0/pi.d.ts
5
+ declare const piAgentModelSchema: z.ZodLazy<z.ZodObject<{
6
+ provider: z.ZodString;
7
+ modelId: z.ZodString;
8
+ }, z.core.$strip>>;
9
+ /** Organization and project agents bill their organization; user and system agents choose once. */
10
+ declare const piBillingOrganizationIdSchema: z.ZodLazy<z.ZodNullable<z.ZodString>>;
11
+ /** One agent object's immutable provisioning: its address and the billing owner chosen once. */
12
+ declare const piAgentConfigSchema: z.ZodLazy<z.ZodObject<{
13
+ scope: z.ZodLazy<z.ZodDiscriminatedUnion<[z.ZodLazy<z.ZodObject<{
14
+ kind: z.ZodLiteral<"system">;
15
+ }, z.core.$strict>>, z.ZodLazy<z.ZodObject<{
16
+ kind: z.ZodLiteral<"org">;
17
+ orgId: z.ZodString;
18
+ }, z.core.$strict>>, z.ZodLazy<z.ZodObject<{
19
+ kind: z.ZodLiteral<"user">;
20
+ userId: z.ZodString;
21
+ }, z.core.$strict>>, z.ZodLazy<z.ZodObject<{
22
+ kind: z.ZodLiteral<"app">;
23
+ owner: z.ZodLazy<z.ZodDiscriminatedUnion<[z.ZodLazy<z.ZodObject<{
24
+ kind: z.ZodLiteral<"org">;
25
+ orgId: z.ZodString;
26
+ }, z.core.$strict>>, z.ZodLazy<z.ZodObject<{
27
+ kind: z.ZodLiteral<"user">;
28
+ userId: z.ZodString;
29
+ }, z.core.$strict>>], "kind">>;
30
+ appId: z.ZodString;
31
+ }, z.core.$strict>>, z.ZodLazy<z.ZodObject<{
32
+ kind: z.ZodLiteral<"project">;
33
+ owner: z.ZodDiscriminatedUnion<[z.ZodLazy<z.ZodObject<{
34
+ kind: z.ZodLiteral<"org">;
35
+ orgId: z.ZodString;
36
+ }, z.core.$strict>>, z.ZodLazy<z.ZodObject<{
37
+ kind: z.ZodLiteral<"user">;
38
+ userId: z.ZodString;
39
+ }, z.core.$strict>>, z.ZodLazy<z.ZodObject<{
40
+ kind: z.ZodLiteral<"app">;
41
+ owner: z.ZodLazy<z.ZodDiscriminatedUnion<[z.ZodLazy<z.ZodObject<{
42
+ kind: z.ZodLiteral<"org">;
43
+ orgId: z.ZodString;
44
+ }, z.core.$strict>>, z.ZodLazy<z.ZodObject<{
45
+ kind: z.ZodLiteral<"user">;
46
+ userId: z.ZodString;
47
+ }, z.core.$strict>>], "kind">>;
48
+ appId: z.ZodString;
49
+ }, z.core.$strict>>], "kind">;
50
+ projectId: z.ZodString;
51
+ }, z.core.$strict>>], "kind">>;
52
+ agentName: z.ZodLazy<z.ZodString>;
53
+ billingOrganizationId: z.ZodLazy<z.ZodNullable<z.ZodString>>;
54
+ }, z.core.$strip>>;
55
+ type PiAgentConfig = z.infer<typeof piAgentConfigSchema>;
56
+ /** The permissions a grant names: `*`, `namespace.*`, or one `namespace.permission`. */
57
+ declare function piAgentPermissionGrantRequirements(grant: string): readonly BackofficePermissionRequirement[];
58
+ declare const piAgentDefinitionSchema: z.ZodLazy<z.ZodObject<{
59
+ description: z.ZodString;
60
+ model: z.ZodNullable<z.ZodString>;
61
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
62
+ instructions: z.ZodString;
63
+ agentName: z.ZodLazy<z.ZodString>;
64
+ managedBy: z.ZodNullable<z.ZodLazy<z.ZodUnion<readonly [z.ZodObject<{
65
+ kind: z.ZodLiteral<"built-in">;
66
+ }, z.core.$strip>, z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>]>>>;
67
+ }, z.core.$strip>>;
68
+ type PiAgentDefinition = z.infer<typeof piAgentDefinitionSchema>;
69
+ /**
70
+ * The definition fields an update replaces; packages set `managedBy` to claim their agents. An
71
+ * agent granted nothing could only chat, so a definition grants at least one permission.
72
+ */
73
+ declare const piAgentDefinitionUpdateSchema: z.ZodLazy<z.ZodObject<{
74
+ description: z.ZodString;
75
+ model: z.ZodNullable<z.ZodString>;
76
+ instructions: z.ZodString;
77
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
78
+ managedBy: z.ZodNullable<z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>>;
79
+ }, z.core.$strip>>;
80
+ type PiAgentDefinitionUpdate = z.infer<typeof piAgentDefinitionUpdateSchema>;
81
+ declare const piAgentDefinitionCreateSchema: z.ZodLazy<z.ZodObject<{
82
+ description: z.ZodString;
83
+ model: z.ZodNullable<z.ZodString>;
84
+ instructions: z.ZodString;
85
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
86
+ managedBy: z.ZodNullable<z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>>;
87
+ agentName: z.ZodLazy<z.ZodString>;
88
+ }, z.core.$strip>>;
89
+ type PiAgentDefinitionCreate = z.infer<typeof piAgentDefinitionCreateSchema>;
90
+ /** A defined agent; `provisioning` is null until its durable conversation receives a first turn. */
91
+ declare const piManagerAgentSchema: z.ZodLazy<z.ZodObject<{
92
+ description: z.ZodString;
93
+ model: z.ZodNullable<z.ZodString>;
94
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
95
+ instructions: z.ZodString;
96
+ agentName: z.ZodLazy<z.ZodString>;
97
+ managedBy: z.ZodNullable<z.ZodLazy<z.ZodUnion<readonly [z.ZodObject<{
98
+ kind: z.ZodLiteral<"built-in">;
99
+ }, z.core.$strip>, z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>]>>>;
100
+ provisioning: z.ZodNullable<z.ZodObject<{
101
+ billingOrganizationId: z.ZodLazy<z.ZodNullable<z.ZodString>>;
102
+ }, z.core.$strip>>;
103
+ }, z.core.$strip>>;
104
+ type PiManagerAgent = z.infer<typeof piManagerAgentSchema>;
105
+ declare const piManagerAgentDirectorySchema: z.ZodLazy<z.ZodObject<{
106
+ agents: z.ZodArray<z.ZodLazy<z.ZodObject<{
107
+ description: z.ZodString;
108
+ model: z.ZodNullable<z.ZodString>;
109
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
110
+ instructions: z.ZodString;
111
+ agentName: z.ZodLazy<z.ZodString>;
112
+ managedBy: z.ZodNullable<z.ZodLazy<z.ZodUnion<readonly [z.ZodObject<{
113
+ kind: z.ZodLiteral<"built-in">;
114
+ }, z.core.$strip>, z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>]>>>;
115
+ provisioning: z.ZodNullable<z.ZodObject<{
116
+ billingOrganizationId: z.ZodLazy<z.ZodNullable<z.ZodString>>;
117
+ }, z.core.$strip>>;
118
+ }, z.core.$strip>>>;
119
+ }, z.core.$strip>>;
120
+ type PiManagerAgentDirectory = z.infer<typeof piManagerAgentDirectorySchema>;
121
+ /**
122
+ * `followUp` waits in the agent's queue for a turn of its own. `steer` joins the running turn at its
123
+ * next tool boundary when that turn has the same authority, and otherwise waits like `followUp`.
124
+ * `reject` is refused while the agent runs a turn or has queued work.
125
+ */
126
+ declare const piPromptWhenBusySchema: z.ZodLazy<z.ZodEnum<{
127
+ followUp: "followUp";
128
+ steer: "steer";
129
+ reject: "reject";
130
+ }>>;
131
+ declare const piPromptReceiptOutputSchema: z.ZodLazy<z.ZodObject<{
132
+ requestId: z.ZodString;
133
+ status: z.ZodEnum<{
134
+ steered: "steered";
135
+ queued: "queued";
136
+ }>;
137
+ }, z.core.$strip>>;
138
+ type PiPromptReceipt = z.infer<typeof piPromptReceiptOutputSchema>;
139
+ declare const piOperations: {
140
+ "pi.agent.list": {
141
+ description: string;
142
+ permissions: {
143
+ readonly namespace: "pi";
144
+ readonly permission: "read";
145
+ }[];
146
+ input: z.ZodLazy<z.ZodObject<{}, z.core.$strict>>;
147
+ output: z.ZodLazy<z.ZodObject<{
148
+ agents: z.ZodArray<z.ZodLazy<z.ZodObject<{
149
+ description: z.ZodString;
150
+ model: z.ZodNullable<z.ZodString>;
151
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
152
+ instructions: z.ZodString;
153
+ agentName: z.ZodLazy<z.ZodString>;
154
+ managedBy: z.ZodNullable<z.ZodLazy<z.ZodUnion<readonly [z.ZodObject<{
155
+ kind: z.ZodLiteral<"built-in">;
156
+ }, z.core.$strip>, z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>]>>>;
157
+ }, z.core.$strip>>>;
158
+ }, z.core.$strip>>;
159
+ };
160
+ "pi.agent.get": {
161
+ description: string;
162
+ permissions: {
163
+ readonly namespace: "pi";
164
+ readonly permission: "read";
165
+ }[];
166
+ input: z.ZodLazy<z.ZodObject<{
167
+ agentName: z.ZodLazy<z.ZodString>;
168
+ }, z.core.$strict>>;
169
+ output: z.ZodLazy<z.ZodObject<{
170
+ description: z.ZodString;
171
+ model: z.ZodNullable<z.ZodString>;
172
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
173
+ instructions: z.ZodString;
174
+ agentName: z.ZodLazy<z.ZodString>;
175
+ managedBy: z.ZodNullable<z.ZodLazy<z.ZodUnion<readonly [z.ZodObject<{
176
+ kind: z.ZodLiteral<"built-in">;
177
+ }, z.core.$strip>, z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>]>>>;
178
+ view: z.ZodUnknown;
179
+ }, z.core.$strip>>;
180
+ };
181
+ "pi.agent.create": {
182
+ description: string;
183
+ permissions: {
184
+ readonly namespace: "pi";
185
+ readonly permission: "manage";
186
+ }[];
187
+ input: z.ZodLazy<z.ZodObject<{
188
+ description: z.ZodString;
189
+ model: z.ZodNullable<z.ZodString>;
190
+ instructions: z.ZodString;
191
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
192
+ managedBy: z.ZodNullable<z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>>;
193
+ agentName: z.ZodLazy<z.ZodString>;
194
+ }, z.core.$strict>>;
195
+ output: z.ZodLazy<z.ZodObject<{
196
+ description: z.ZodString;
197
+ model: z.ZodNullable<z.ZodString>;
198
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
199
+ instructions: z.ZodString;
200
+ agentName: z.ZodLazy<z.ZodString>;
201
+ managedBy: z.ZodNullable<z.ZodLazy<z.ZodUnion<readonly [z.ZodObject<{
202
+ kind: z.ZodLiteral<"built-in">;
203
+ }, z.core.$strip>, z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>]>>>;
204
+ }, z.core.$strip>>;
205
+ };
206
+ "pi.agent.update": {
207
+ description: string;
208
+ permissions: {
209
+ readonly namespace: "pi";
210
+ readonly permission: "manage";
211
+ }[];
212
+ input: z.ZodLazy<z.ZodObject<{
213
+ description: z.ZodString;
214
+ model: z.ZodNullable<z.ZodString>;
215
+ instructions: z.ZodString;
216
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
217
+ managedBy: z.ZodNullable<z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>>;
218
+ agentName: z.ZodLazy<z.ZodString>;
219
+ }, z.core.$strict>>;
220
+ output: z.ZodLazy<z.ZodObject<{
221
+ description: z.ZodString;
222
+ model: z.ZodNullable<z.ZodString>;
223
+ permissions: z.ZodArray<z.ZodLazy<z.ZodString>>;
224
+ instructions: z.ZodString;
225
+ agentName: z.ZodLazy<z.ZodString>;
226
+ managedBy: z.ZodNullable<z.ZodLazy<z.ZodUnion<readonly [z.ZodObject<{
227
+ kind: z.ZodLiteral<"built-in">;
228
+ }, z.core.$strip>, z.ZodType<AutomationRouteManagedBy, unknown, z.core.$ZodTypeInternals<AutomationRouteManagedBy, unknown>>]>>>;
229
+ }, z.core.$strip>>;
230
+ };
231
+ "pi.agent.delete": {
232
+ description: string;
233
+ permissions: {
234
+ readonly namespace: "pi";
235
+ readonly permission: "manage";
236
+ }[];
237
+ input: z.ZodLazy<z.ZodObject<{
238
+ agentName: z.ZodLazy<z.ZodString>;
239
+ }, z.core.$strict>>;
240
+ output: z.ZodLazy<z.ZodObject<{
241
+ deleted: z.ZodLiteral<true>;
242
+ }, z.core.$strip>>;
243
+ };
244
+ "pi.prompt.submit": {
245
+ description: string;
246
+ permissions: {
247
+ readonly namespace: "pi";
248
+ readonly permission: "modify";
249
+ }[];
250
+ input: z.ZodLazy<z.ZodObject<{
251
+ agentName: z.ZodLazy<z.ZodString>;
252
+ content: z.ZodString;
253
+ requestId: z.ZodOptional<z.ZodString>;
254
+ whenBusy: z.ZodOptional<z.ZodLazy<z.ZodEnum<{
255
+ followUp: "followUp";
256
+ steer: "steer";
257
+ reject: "reject";
258
+ }>>>;
259
+ billingOrganizationId: z.ZodOptional<z.ZodLazy<z.ZodNullable<z.ZodString>>>;
260
+ }, z.core.$strict>>;
261
+ output: z.ZodLazy<z.ZodObject<{
262
+ requestId: z.ZodString;
263
+ status: z.ZodEnum<{
264
+ steered: "steered";
265
+ queued: "queued";
266
+ }>;
267
+ }, z.core.$strip>>;
268
+ };
269
+ "pi.submission.get": {
270
+ description: string;
271
+ permissions: {
272
+ readonly namespace: "pi";
273
+ readonly permission: "read";
274
+ }[];
275
+ input: z.ZodLazy<z.ZodObject<{
276
+ agentName: z.ZodLazy<z.ZodString>;
277
+ requestId: z.ZodString;
278
+ }, z.core.$strict>>;
279
+ output: z.ZodLazy<z.ZodUnknown>;
280
+ };
281
+ "pi.prompt.run": {
282
+ description: string;
283
+ permissions: {
284
+ readonly namespace: "pi";
285
+ readonly permission: "modify";
286
+ }[];
287
+ input: z.ZodLazy<z.ZodObject<{
288
+ agentName: z.ZodLazy<z.ZodString>;
289
+ content: z.ZodString;
290
+ requestId: z.ZodOptional<z.ZodString>;
291
+ whenBusy: z.ZodOptional<z.ZodLazy<z.ZodEnum<{
292
+ followUp: "followUp";
293
+ steer: "steer";
294
+ reject: "reject";
295
+ }>>>;
296
+ billingOrganizationId: z.ZodOptional<z.ZodLazy<z.ZodNullable<z.ZodString>>>;
297
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
298
+ }, z.core.$strict>>;
299
+ output: z.ZodLazy<z.ZodObject<{
300
+ agentName: z.ZodLazy<z.ZodString>;
301
+ view: z.ZodUnknown;
302
+ submission: z.ZodUnknown;
303
+ assistantText: z.ZodString;
304
+ }, z.core.$strip>>;
305
+ };
306
+ "pi.agent.abort": {
307
+ description: string;
308
+ permissions: {
309
+ readonly namespace: "pi";
310
+ readonly permission: "modify";
311
+ }[];
312
+ input: z.ZodLazy<z.ZodObject<{
313
+ agentName: z.ZodLazy<z.ZodString>;
314
+ }, z.core.$strict>>;
315
+ output: z.ZodLazy<z.ZodObject<{
316
+ aborted: z.ZodLiteral<true>;
317
+ }, z.core.$strip>>;
318
+ };
319
+ };
320
+ //#endregion
321
+ export { PiAgentConfig, PiAgentDefinition, PiAgentDefinitionCreate, PiAgentDefinitionUpdate, PiManagerAgent, PiManagerAgentDirectory, PiPromptReceipt, piAgentConfigSchema, piAgentDefinitionCreateSchema, piAgentDefinitionSchema, piAgentDefinitionUpdateSchema, piAgentModelSchema, piAgentPermissionGrantRequirements, piBillingOrganizationIdSchema, piManagerAgentDirectorySchema, piManagerAgentSchema, piOperations, piPromptReceiptOutputSchema, piPromptWhenBusySchema };
322
+ //# sourceMappingURL=pi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.ts","names":[],"sources":["../../src/v0/pi.ts"],"mappings":";;;;cAYa,oBAAkB,EAAA,QAAA,EAAA;;;;;cAQlB,+BAA6B,EAAA,QAAA,EAAA,YAAA,EAAA;;cAG7B,qBAAmB,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQpB,gBAAgB,EAAE,aAAa;;iBAK3B,mCACd,yBACU;cA2CC,yBAAuB,EAAA,QAAA,EAAA;;;;;;;;;;KAOxB,oBAAoB,EAAE,aAAa;;;;;cAMlC,+BAA6B,EAAA,QAAA,EAAA;;;;;;;KAU9B,0BAA0B,EAAE,aAAa;cAExC,+BAA6B,EAAA,QAAA,EAAA;;;;;;;;KAM9B,0BAA0B,EAAE,aAAa;;cAGxC,sBAAoB,EAAA,QAAA,EAAA;;;;;;;;;;;;;KAMrB,iBAAiB,EAAE,aAAa;cAE/B,+BAA6B,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;KAM9B,0BAA0B,EAAE,aAAa;;;;;;cAOxC,wBAAsB,EAAA,QAAA,EAAA;;;;;cAQtB,6BAA2B,EAAA,QAAA,EAAA;;;;;;;KAO5B,kBAAkB,EAAE,aAAa;cAyChC"}
package/dist/v0/pi.js ADDED
@@ -0,0 +1,146 @@
1
+ import { BACKOFFICE_PERMISSION, allBackofficePermissionRequirements } from "./shared/permissions.js";
2
+ import { backofficeContextScopeSchema } from "./shared/scope.js";
3
+ import { piAgentNameSchema } from "./shared/pi-agent-name.js";
4
+ import { automationRouteManagedBySchema } from "./automation.js";
5
+ import { z } from "zod";
6
+ //#region src/v0/pi.ts
7
+ const piAgentModelSchema = z.lazy(() => z.object({
8
+ provider: z.string().min(1),
9
+ modelId: z.string().min(1)
10
+ }));
11
+ /** Organization and project agents bill their organization; user and system agents choose once. */
12
+ const piBillingOrganizationIdSchema = z.lazy(() => z.string().trim().min(1).nullable());
13
+ /** One agent object's immutable provisioning: its address and the billing owner chosen once. */
14
+ const piAgentConfigSchema = z.lazy(() => z.object({
15
+ scope: backofficeContextScopeSchema,
16
+ agentName: piAgentNameSchema,
17
+ billingOrganizationId: piBillingOrganizationIdSchema
18
+ }));
19
+ const PI_AGENT_INSTRUCTIONS_MAX_LENGTH = 32768;
20
+ /** The permissions a grant names: `*`, `namespace.*`, or one `namespace.permission`. */
21
+ function piAgentPermissionGrantRequirements(grant) {
22
+ if (grant === "*") return allBackofficePermissionRequirements;
23
+ const separator = grant.indexOf(".");
24
+ const namespace = separator === -1 ? grant : grant.slice(0, separator);
25
+ const permission = separator === -1 ? "" : grant.slice(separator + 1);
26
+ return allBackofficePermissionRequirements.filter((requirement) => requirement.namespace === namespace && (permission === "*" || requirement.permission === permission));
27
+ }
28
+ const piAgentPermissionGrantSchema = z.lazy(() => z.string().trim().refine((grant) => piAgentPermissionGrantRequirements(grant).length > 0, { error: (issue) => `Unknown Backoffice permission '${String(issue.input)}'.` }));
29
+ const piAgentDefinitionFieldsSchema = z.lazy(() => z.object({
30
+ description: z.string().trim().min(1),
31
+ /** `provider/modelId`; null selects the preferred available model. */
32
+ model: z.string().regex(/^[^/\s]+\/\S+$/, "Expected a model as provider/modelId.").nullable(),
33
+ /** Narrow every turn: an agent can never do more than the person prompting it. */
34
+ permissions: z.array(piAgentPermissionGrantSchema),
35
+ /** Markdown guidance added to the agent's system prompt; empty adds none. */
36
+ instructions: z.string().max(PI_AGENT_INSTRUCTIONS_MAX_LENGTH)
37
+ }));
38
+ /** Built-in agents are defined by Backoffice; others are created in a scope, by hand or a package. */
39
+ const piAgentManagedBySchema = z.lazy(() => z.union([z.object({ kind: z.literal("built-in") }), automationRouteManagedBySchema]));
40
+ const piAgentDefinitionSchema = z.lazy(() => piAgentDefinitionFieldsSchema._zod.innerType.extend({
41
+ agentName: piAgentNameSchema,
42
+ managedBy: piAgentManagedBySchema.nullable()
43
+ }));
44
+ /**
45
+ * The definition fields an update replaces; packages set `managedBy` to claim their agents. An
46
+ * agent granted nothing could only chat, so a definition grants at least one permission.
47
+ */
48
+ const piAgentDefinitionUpdateSchema = z.lazy(() => piAgentDefinitionFieldsSchema._zod.innerType.extend({
49
+ permissions: piAgentDefinitionFieldsSchema._zod.innerType.shape.permissions.min(1, "Grant at least one permission; use [\"*\"] to let the agent do whatever its prompter may."),
50
+ managedBy: automationRouteManagedBySchema.nullable()
51
+ }));
52
+ const piAgentDefinitionCreateSchema = z.lazy(() => piAgentDefinitionUpdateSchema._zod.innerType.extend({ agentName: piAgentNameSchema }));
53
+ /** A defined agent; `provisioning` is null until its durable conversation receives a first turn. */
54
+ const piManagerAgentSchema = z.lazy(() => piAgentDefinitionSchema._zod.innerType.extend({ provisioning: z.object({ billingOrganizationId: piBillingOrganizationIdSchema }).nullable() }));
55
+ const piManagerAgentDirectorySchema = z.lazy(() => z.object({ agents: z.array(piManagerAgentSchema) }));
56
+ /**
57
+ * `followUp` waits in the agent's queue for a turn of its own. `steer` joins the running turn at its
58
+ * next tool boundary when that turn has the same authority, and otherwise waits like `followUp`.
59
+ * `reject` is refused while the agent runs a turn or has queued work.
60
+ */
61
+ const piPromptWhenBusySchema = z.lazy(() => z.enum([
62
+ "followUp",
63
+ "steer",
64
+ "reject"
65
+ ]));
66
+ const piAgentDirectoryOutputSchema = z.lazy(() => z.object({ agents: z.array(piAgentDefinitionSchema) }));
67
+ const piPromptReceiptOutputSchema = z.lazy(() => z.object({
68
+ requestId: z.string(),
69
+ status: z.enum(["steered", "queued"])
70
+ }));
71
+ const piAgentDetailOutputSchema = z.lazy(() => piAgentDefinitionSchema._zod.innerType.extend({ view: z.unknown() }));
72
+ const piPromptResultOutputSchema = z.lazy(() => z.object({
73
+ agentName: piAgentNameSchema,
74
+ view: z.unknown(),
75
+ submission: z.unknown(),
76
+ assistantText: z.string()
77
+ }));
78
+ const agentInputSchema = z.lazy(() => z.strictObject({ agentName: piAgentNameSchema }));
79
+ const promptSubmitInputSchema = z.lazy(() => agentInputSchema._zod.innerType.extend({
80
+ content: z.string().trim().min(1),
81
+ requestId: z.string().trim().min(1).optional(),
82
+ whenBusy: piPromptWhenBusySchema.optional(),
83
+ billingOrganizationId: piBillingOrganizationIdSchema.optional()
84
+ }));
85
+ const promptRunInputSchema = z.lazy(() => promptSubmitInputSchema._zod.innerType.extend({ timeoutMs: z.number().int().positive().optional() }));
86
+ const submissionGetInputSchema = z.lazy(() => agentInputSchema._zod.innerType.extend({ requestId: z.string().trim().min(1) }));
87
+ const piOperations = {
88
+ "pi.agent.list": {
89
+ description: "List the built-in agents and the agents defined in the current scope.",
90
+ permissions: [BACKOFFICE_PERMISSION.pi.read],
91
+ input: z.lazy(() => z.strictObject({})),
92
+ output: piAgentDirectoryOutputSchema
93
+ },
94
+ "pi.agent.get": {
95
+ description: "Get one defined agent and its durable conversation view.",
96
+ permissions: [BACKOFFICE_PERMISSION.pi.read],
97
+ input: agentInputSchema,
98
+ output: piAgentDetailOutputSchema
99
+ },
100
+ "pi.agent.create": {
101
+ description: "Define an agent in the current scope. Use permissions [\"*\"] unless the agent should be limited: each turn already runs with the prompter's permissions, and the grants only narrow them.",
102
+ permissions: [BACKOFFICE_PERMISSION.pi.manage],
103
+ input: z.lazy(() => piAgentDefinitionCreateSchema._zod.innerType.strict()),
104
+ output: piAgentDefinitionSchema
105
+ },
106
+ "pi.agent.update": {
107
+ description: "Replace an agent's whole definition, including its permissions ([\"*\"] narrows nothing). The agent keeps its conversation; the new definition applies from its next turn.",
108
+ permissions: [BACKOFFICE_PERMISSION.pi.manage],
109
+ input: z.lazy(() => piAgentDefinitionCreateSchema._zod.innerType.strict()),
110
+ output: piAgentDefinitionSchema
111
+ },
112
+ "pi.agent.delete": {
113
+ description: "Idempotently delete an agent's definition. Its stored conversation is kept and resumes if the name is defined again.",
114
+ permissions: [BACKOFFICE_PERMISSION.pi.manage],
115
+ input: agentInputSchema,
116
+ output: z.lazy(() => z.object({ deleted: z.literal(true) }))
117
+ },
118
+ "pi.prompt.submit": {
119
+ description: "Durably queue a prompt for an agent, or steer its running turn, and return a receipt saying which. A request ID still queued is not queued twice. The turn runs with the caller's current permissions, narrowed by the agent's definition. A user- or system-scoped agent's first turn sets its billing organization; omitting billingOrganizationId inherits the calling Pi agent or workflow's.",
120
+ permissions: [BACKOFFICE_PERMISSION.pi.modify],
121
+ input: promptSubmitInputSchema,
122
+ output: piPromptReceiptOutputSchema
123
+ },
124
+ "pi.submission.get": {
125
+ description: "Get the durable status of one prompt submission.",
126
+ permissions: [BACKOFFICE_PERMISSION.pi.read],
127
+ input: submissionGetInputSchema,
128
+ output: z.lazy(() => z.unknown())
129
+ },
130
+ "pi.prompt.run": {
131
+ description: "Durably queue a prompt for an agent, wait for its turn to settle, and return its conversation view.",
132
+ permissions: [BACKOFFICE_PERMISSION.pi.modify],
133
+ input: promptRunInputSchema,
134
+ output: piPromptResultOutputSchema
135
+ },
136
+ "pi.agent.abort": {
137
+ description: "Abort an agent's active foreground and background work.",
138
+ permissions: [BACKOFFICE_PERMISSION.pi.modify],
139
+ input: agentInputSchema,
140
+ output: z.lazy(() => z.object({ aborted: z.literal(true) }))
141
+ }
142
+ };
143
+ //#endregion
144
+ export { piAgentConfigSchema, piAgentDefinitionCreateSchema, piAgentDefinitionSchema, piAgentDefinitionUpdateSchema, piAgentModelSchema, piAgentPermissionGrantRequirements, piBillingOrganizationIdSchema, piManagerAgentDirectorySchema, piManagerAgentSchema, piOperations, piPromptReceiptOutputSchema, piPromptWhenBusySchema };
145
+
146
+ //# sourceMappingURL=pi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.js","names":[],"sources":["../../src/v0/pi.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport type { BackofficeApiOperation } from \"../api\";\nimport { automationRouteManagedBySchema } from \"./automation\";\nimport {\n allBackofficePermissionRequirements,\n BACKOFFICE_PERMISSION,\n type BackofficePermissionRequirement,\n} from \"./shared/permissions\";\nimport { piAgentNameSchema } from \"./shared/pi-agent-name\";\nimport { backofficeContextScopeSchema } from \"./shared/scope\";\n\nexport const piAgentModelSchema = z.lazy(() =>\n z.object({\n provider: z.string().min(1),\n modelId: z.string().min(1),\n }),\n);\n\n/** Organization and project agents bill their organization; user and system agents choose once. */\nexport const piBillingOrganizationIdSchema = z.lazy(() => z.string().trim().min(1).nullable());\n\n/** One agent object's immutable provisioning: its address and the billing owner chosen once. */\nexport const piAgentConfigSchema = z.lazy(() =>\n z.object({\n scope: backofficeContextScopeSchema,\n agentName: piAgentNameSchema,\n billingOrganizationId: piBillingOrganizationIdSchema,\n }),\n);\n\nexport type PiAgentConfig = z.infer<typeof piAgentConfigSchema>;\n\nconst PI_AGENT_INSTRUCTIONS_MAX_LENGTH = 32_768;\n\n/** The permissions a grant names: `*`, `namespace.*`, or one `namespace.permission`. */\nexport function piAgentPermissionGrantRequirements(\n grant: string,\n): readonly BackofficePermissionRequirement[] {\n if (grant === \"*\") {\n return allBackofficePermissionRequirements;\n }\n const separator = grant.indexOf(\".\");\n const namespace = separator === -1 ? grant : grant.slice(0, separator);\n const permission = separator === -1 ? \"\" : grant.slice(separator + 1);\n return allBackofficePermissionRequirements.filter(\n (requirement) =>\n requirement.namespace === namespace &&\n (permission === \"*\" || requirement.permission === permission),\n );\n}\n\nconst piAgentPermissionGrantSchema = z.lazy(() =>\n z\n .string()\n .trim()\n .refine((grant) => piAgentPermissionGrantRequirements(grant).length > 0, {\n error: (issue) => `Unknown Backoffice permission '${String(issue.input)}'.`,\n }),\n);\n\nconst piAgentDefinitionFieldsSchema = z.lazy(() =>\n z.object({\n description: z.string().trim().min(1),\n /** `provider/modelId`; null selects the preferred available model. */\n model: z\n .string()\n .regex(/^[^/\\s]+\\/\\S+$/, \"Expected a model as provider/modelId.\")\n .nullable(),\n /** Narrow every turn: an agent can never do more than the person prompting it. */\n permissions: z.array(piAgentPermissionGrantSchema),\n /** Markdown guidance added to the agent's system prompt; empty adds none. */\n instructions: z.string().max(PI_AGENT_INSTRUCTIONS_MAX_LENGTH),\n }),\n);\n\n/** Built-in agents are defined by Backoffice; others are created in a scope, by hand or a package. */\nconst piAgentManagedBySchema = z.lazy(() =>\n z.union([z.object({ kind: z.literal(\"built-in\") }), automationRouteManagedBySchema]),\n);\n\nexport const piAgentDefinitionSchema = z.lazy(() =>\n piAgentDefinitionFieldsSchema._zod.innerType.extend({\n agentName: piAgentNameSchema,\n managedBy: piAgentManagedBySchema.nullable(),\n }),\n);\n\nexport type PiAgentDefinition = z.infer<typeof piAgentDefinitionSchema>;\n\n/**\n * The definition fields an update replaces; packages set `managedBy` to claim their agents. An\n * agent granted nothing could only chat, so a definition grants at least one permission.\n */\nexport const piAgentDefinitionUpdateSchema = z.lazy(() =>\n piAgentDefinitionFieldsSchema._zod.innerType.extend({\n permissions: piAgentDefinitionFieldsSchema._zod.innerType.shape.permissions.min(\n 1,\n 'Grant at least one permission; use [\"*\"] to let the agent do whatever its prompter may.',\n ),\n managedBy: automationRouteManagedBySchema.nullable(),\n }),\n);\n\nexport type PiAgentDefinitionUpdate = z.infer<typeof piAgentDefinitionUpdateSchema>;\n\nexport const piAgentDefinitionCreateSchema = z.lazy(() =>\n piAgentDefinitionUpdateSchema._zod.innerType.extend({\n agentName: piAgentNameSchema,\n }),\n);\n\nexport type PiAgentDefinitionCreate = z.infer<typeof piAgentDefinitionCreateSchema>;\n\n/** A defined agent; `provisioning` is null until its durable conversation receives a first turn. */\nexport const piManagerAgentSchema = z.lazy(() =>\n piAgentDefinitionSchema._zod.innerType.extend({\n provisioning: z.object({ billingOrganizationId: piBillingOrganizationIdSchema }).nullable(),\n }),\n);\n\nexport type PiManagerAgent = z.infer<typeof piManagerAgentSchema>;\n\nexport const piManagerAgentDirectorySchema = z.lazy(() =>\n z.object({\n agents: z.array(piManagerAgentSchema),\n }),\n);\n\nexport type PiManagerAgentDirectory = z.infer<typeof piManagerAgentDirectorySchema>;\n\n/**\n * `followUp` waits in the agent's queue for a turn of its own. `steer` joins the running turn at its\n * next tool boundary when that turn has the same authority, and otherwise waits like `followUp`.\n * `reject` is refused while the agent runs a turn or has queued work.\n */\nexport const piPromptWhenBusySchema = z.lazy(() => z.enum([\"followUp\", \"steer\", \"reject\"]));\n\nconst piAgentDirectoryOutputSchema = z.lazy(() =>\n z.object({\n agents: z.array(piAgentDefinitionSchema),\n }),\n);\n\nexport const piPromptReceiptOutputSchema = z.lazy(() =>\n z.object({\n requestId: z.string(),\n // `steered` joined the running turn; `queued` waits in the agent's queue for a turn of its own.\n status: z.enum([\"steered\", \"queued\"]),\n }),\n);\nexport type PiPromptReceipt = z.infer<typeof piPromptReceiptOutputSchema>;\n\nconst piAgentDetailOutputSchema = z.lazy(() =>\n piAgentDefinitionSchema._zod.innerType.extend({\n // Null until the agent's conversation has received its first turn.\n view: z.unknown(),\n }),\n);\n\nconst piPromptResultOutputSchema = z.lazy(() =>\n z.object({\n agentName: piAgentNameSchema,\n view: z.unknown(),\n submission: z.unknown(),\n assistantText: z.string(),\n }),\n);\n\nconst agentInputSchema = z.lazy(() => z.strictObject({ agentName: piAgentNameSchema }));\n\nconst promptSubmitInputSchema = z.lazy(() =>\n agentInputSchema._zod.innerType.extend({\n content: z.string().trim().min(1),\n requestId: z.string().trim().min(1).optional(),\n whenBusy: piPromptWhenBusySchema.optional(),\n billingOrganizationId: piBillingOrganizationIdSchema.optional(),\n }),\n);\n\nconst promptRunInputSchema = z.lazy(() =>\n promptSubmitInputSchema._zod.innerType.extend({\n timeoutMs: z.number().int().positive().optional(),\n }),\n);\n\nconst submissionGetInputSchema = z.lazy(() =>\n agentInputSchema._zod.innerType.extend({\n requestId: z.string().trim().min(1),\n }),\n);\n\nexport const piOperations = {\n \"pi.agent.list\": {\n description: \"List the built-in agents and the agents defined in the current scope.\",\n permissions: [BACKOFFICE_PERMISSION.pi.read],\n input: z.lazy(() => z.strictObject({})),\n output: piAgentDirectoryOutputSchema,\n },\n \"pi.agent.get\": {\n description: \"Get one defined agent and its durable conversation view.\",\n permissions: [BACKOFFICE_PERMISSION.pi.read],\n input: agentInputSchema,\n output: piAgentDetailOutputSchema,\n },\n \"pi.agent.create\": {\n description:\n 'Define an agent in the current scope. Use permissions [\"*\"] unless the agent should be limited: each turn already runs with the prompter\\'s permissions, and the grants only narrow them.',\n permissions: [BACKOFFICE_PERMISSION.pi.manage],\n input: z.lazy(() => piAgentDefinitionCreateSchema._zod.innerType.strict()),\n output: piAgentDefinitionSchema,\n },\n \"pi.agent.update\": {\n description:\n 'Replace an agent\\'s whole definition, including its permissions ([\"*\"] narrows nothing). The agent keeps its conversation; the new definition applies from its next turn.',\n permissions: [BACKOFFICE_PERMISSION.pi.manage],\n input: z.lazy(() => piAgentDefinitionCreateSchema._zod.innerType.strict()),\n output: piAgentDefinitionSchema,\n },\n \"pi.agent.delete\": {\n description:\n \"Idempotently delete an agent's definition. Its stored conversation is kept and resumes if the name is defined again.\",\n permissions: [BACKOFFICE_PERMISSION.pi.manage],\n input: agentInputSchema,\n output: z.lazy(() => z.object({ deleted: z.literal(true) })),\n },\n \"pi.prompt.submit\": {\n description:\n \"Durably queue a prompt for an agent, or steer its running turn, and return a receipt saying which. A request ID still queued is not queued twice. The turn runs with the caller's current permissions, narrowed by the agent's definition. A user- or system-scoped agent's first turn sets its billing organization; omitting billingOrganizationId inherits the calling Pi agent or workflow's.\",\n permissions: [BACKOFFICE_PERMISSION.pi.modify],\n input: promptSubmitInputSchema,\n output: piPromptReceiptOutputSchema,\n },\n \"pi.submission.get\": {\n description: \"Get the durable status of one prompt submission.\",\n permissions: [BACKOFFICE_PERMISSION.pi.read],\n input: submissionGetInputSchema,\n output: z.lazy(() => z.unknown()),\n },\n \"pi.prompt.run\": {\n description:\n \"Durably queue a prompt for an agent, wait for its turn to settle, and return its conversation view.\",\n permissions: [BACKOFFICE_PERMISSION.pi.modify],\n input: promptRunInputSchema,\n output: piPromptResultOutputSchema,\n },\n \"pi.agent.abort\": {\n description: \"Abort an agent's active foreground and background work.\",\n permissions: [BACKOFFICE_PERMISSION.pi.modify],\n input: agentInputSchema,\n output: z.lazy(() => z.object({ aborted: z.literal(true) })),\n },\n} satisfies Record<string, BackofficeApiOperation>;\n"],"mappings":"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"}