@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 @@
1
+ {"version":3,"file":"upload.js","names":[],"sources":["../../src/v0/upload.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport type { BackofficeApiOperation } from \"../api\";\nimport { base64BytesSchema } from \"./shared/bytes\";\nimport { BACKOFFICE_PERMISSION } from \"./shared/permissions\";\nimport { backofficeRoutableScopeSchema } from \"./shared/scope\";\n\nexport const preparedUploadedFileReferenceSchema = z.lazy(() =>\n z.strictObject({\n kind: z.literal(\"prepared-upload\"),\n scope: backofficeRoutableScopeSchema,\n uploadId: z.string().min(1).max(240),\n provider: z.string().min(1).max(120),\n fileKey: z.string().min(1).max(1_024),\n filename: z.string().min(1).max(500),\n sizeBytes: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),\n contentType: z.string().min(1).max(240),\n expiresAt: z.iso.datetime(),\n }),\n);\n\nexport const uploadPreparedInputSchema = z.lazy(() =>\n z.object({\n file: preparedUploadedFileReferenceSchema,\n }),\n);\n\nexport type PreparedUploadedFileReference = z.infer<typeof preparedUploadedFileReferenceSchema>;\n\nexport const uploadedFileReferenceSchema = z.lazy(() =>\n preparedUploadedFileReferenceSchema._zod.innerType\n .omit({ kind: true, expiresAt: true })\n .extend({ kind: z.literal(\"uploaded-file\") }),\n);\n\nexport type UploadedFileReference = z.infer<typeof uploadedFileReferenceSchema>;\n\nexport const uploadDiscardPreparedOutputSchema = z.lazy(() =>\n z.object({\n discarded: z.literal(true),\n uploadId: z.string().trim().min(1),\n }),\n);\n\nconst uploadReadPreparedOutputFields = {\n file: preparedUploadedFileReferenceSchema,\n byteLength: z.lazy(() => z.number().int().nonnegative()),\n};\n\nconst uploadProviderSchema = z\n .lazy(() => z.enum([\"database\", \"r2\", \"r2-binding\"]))\n .meta({\n id: \"UploadProvider\",\n });\n\nexport const uploadStorageSchema = z\n .lazy(() =>\n z.strictObject({\n defaultProvider: uploadProviderSchema\n .nullable()\n .describe(\"The provider new uploads use; null until one is configured.\"),\n providers: z.array(uploadProviderSchema).describe(\"Providers with stored configuration.\"),\n }),\n )\n .meta({ id: \"UploadStorage\" });\n\nconst uploadStorageDefaultSchema = z.lazy(() =>\n z\n .boolean()\n .describe(\"Whether new uploads use this provider. Files already stored stay where they are.\"),\n);\n\nexport const uploadStorageConfigureInputSchema = z\n .lazy(() =>\n z.discriminatedUnion(\"provider\", [\n z.strictObject({\n provider: z.literal(\"database\").describe(\"Files stored in Backoffice's own database.\"),\n default: uploadStorageDefaultSchema,\n }),\n z.strictObject({\n provider: z.literal(\"r2-binding\").describe(\"An R2 bucket bound to the Worker.\"),\n bindingName: z.string().trim().min(1).describe(\"Name of the Worker's R2 bucket binding.\"),\n default: uploadStorageDefaultSchema,\n }),\n z.strictObject({\n provider: z.literal(\"r2\").describe(\"An R2 bucket reached through its S3 API.\"),\n bucket: z.string().trim().min(1),\n endpoint: z.url().describe(\"The account's S3 API endpoint.\"),\n accessKeyId: z.string().trim().min(1).describe(\"Secret.\"),\n secretAccessKey: z.string().trim().min(1).describe(\"Secret.\"),\n region: z.string().trim().min(1).describe(\"Usually auto.\"),\n sessionToken: z.string().trim().min(1).nullable().describe(\"Secret; null when unused.\"),\n pathStyle: z\n .boolean()\n .describe(\"Address the bucket in the path rather than the host name.\"),\n default: uploadStorageDefaultSchema,\n }),\n ]),\n )\n .meta({ id: \"UploadStorageConfigureInput\" });\n\nexport const uploadOperations = {\n \"upload.storage.get\": {\n description:\n \"Read the organization's upload storage: the configured providers and the one new uploads use.\",\n permissions: [BACKOFFICE_PERMISSION.connections.read],\n input: z.void(),\n output: uploadStorageSchema,\n },\n \"upload.storage.configure\": {\n description:\n \"Store one upload storage provider's configuration for the organization, replacing that provider's earlier configuration. Secrets are never returned.\",\n permissions: [BACKOFFICE_PERMISSION.connections.manage],\n input: uploadStorageConfigureInputSchema,\n output: uploadStorageSchema,\n },\n \"upload.prepared.read\": {\n description: \"Read one prepared private upload as UTF-8 text or base64-encoded bytes.\",\n permissions: [BACKOFFICE_PERMISSION.upload.read],\n input: z.lazy(() =>\n z.object({\n file: preparedUploadedFileReferenceSchema,\n encoding: z.enum([\"utf8\", \"base64\"]).optional(),\n maxBytes: z\n .number()\n .int()\n .positive()\n .max(50 * 1_024 * 1_024)\n .optional(),\n }),\n ),\n output: z.lazy(() =>\n z.discriminatedUnion(\"encoding\", [\n z.object({\n ...uploadReadPreparedOutputFields,\n encoding: z.literal(\"utf8\"),\n text: z.string(),\n }),\n z.object({\n ...uploadReadPreparedOutputFields,\n encoding: z.literal(\"base64\"),\n base64: base64BytesSchema,\n }),\n ]),\n ),\n },\n \"upload.prepared.commit\": {\n description: \"Commit a prepared private upload so the file persists.\",\n permissions: [BACKOFFICE_PERMISSION.upload.modify],\n input: uploadPreparedInputSchema,\n output: uploadedFileReferenceSchema,\n },\n \"upload.prepared.discard\": {\n description: \"Discard a temporary prepared private upload.\",\n permissions: [BACKOFFICE_PERMISSION.upload.modify],\n input: uploadPreparedInputSchema,\n output: uploadDiscardPreparedOutputSchema,\n },\n} satisfies Record<string, BackofficeApiOperation>;\n"],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { z } from "zod";
2
+ //#region src/v0/web.d.ts
3
+ declare const webExtractInputSchema: z.ZodLazy<z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ action: z.ZodLiteral<"content">;
5
+ input: z.ZodLazy<z.ZodObject<{
6
+ url: z.ZodOptional<z.ZodURL>;
7
+ html: z.ZodOptional<z.ZodString>;
8
+ }, z.core.$loose>>;
9
+ }, z.core.$strip>, z.ZodObject<{
10
+ action: z.ZodLiteral<"markdown">;
11
+ input: z.ZodLazy<z.ZodObject<{
12
+ url: z.ZodOptional<z.ZodURL>;
13
+ html: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$loose>>;
15
+ }, z.core.$strip>], "action">>;
16
+ declare const webOperations: {
17
+ "web.extract": {
18
+ description: string;
19
+ permissions: {
20
+ readonly namespace: "cloudflare";
21
+ readonly permission: "browserRun";
22
+ }[];
23
+ input: z.ZodLazy<z.ZodDiscriminatedUnion<[z.ZodObject<{
24
+ action: z.ZodLiteral<"content">;
25
+ input: z.ZodLazy<z.ZodObject<{
26
+ url: z.ZodOptional<z.ZodURL>;
27
+ html: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$loose>>;
29
+ }, z.core.$strip>, z.ZodObject<{
30
+ action: z.ZodLiteral<"markdown">;
31
+ input: z.ZodLazy<z.ZodObject<{
32
+ url: z.ZodOptional<z.ZodURL>;
33
+ html: z.ZodOptional<z.ZodString>;
34
+ }, z.core.$loose>>;
35
+ }, z.core.$strip>], "action">>;
36
+ output: z.ZodLazy<z.ZodDiscriminatedUnion<[z.ZodObject<{
37
+ action: z.ZodLiteral<"content">;
38
+ result: z.ZodString;
39
+ }, z.core.$strip>, z.ZodObject<{
40
+ action: z.ZodLiteral<"markdown">;
41
+ result: z.ZodString;
42
+ }, z.core.$strip>], "action">>;
43
+ };
44
+ };
45
+ //#endregion
46
+ export { webExtractInputSchema, webOperations };
47
+ //# sourceMappingURL=web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.d.ts","names":[],"sources":["../../src/v0/web.ts"],"mappings":";;cAgBa,uBAAqB,EAAA,QAAA,EAAA,uBAAA,EAAA;;;;;;;;;;;;;cAcrB"}
package/dist/v0/web.js ADDED
@@ -0,0 +1,31 @@
1
+ import { BACKOFFICE_PERMISSION } from "./shared/permissions.js";
2
+ import { z } from "zod";
3
+ //#region src/v0/web.ts
4
+ const webPageInputSchema = z.lazy(() => z.looseObject({
5
+ url: z.url().optional(),
6
+ html: z.string().optional()
7
+ }).refine((input) => input.url !== void 0 || input.html !== void 0, { message: "Web extraction input requires either `url` or `html`." }));
8
+ const webExtractInputSchema = z.lazy(() => z.discriminatedUnion("action", [z.object({
9
+ action: z.literal("content"),
10
+ input: webPageInputSchema
11
+ }), z.object({
12
+ action: z.literal("markdown"),
13
+ input: webPageInputSchema
14
+ })]));
15
+ const webExtractResultSchema = z.lazy(() => z.discriminatedUnion("action", [z.object({
16
+ action: z.literal("content"),
17
+ result: z.string()
18
+ }), z.object({
19
+ action: z.literal("markdown"),
20
+ result: z.string()
21
+ })]));
22
+ const webOperations = { "web.extract": {
23
+ description: "Extract page content or Markdown from a URL or HTML.",
24
+ permissions: [BACKOFFICE_PERMISSION.cloudflare.browserRun],
25
+ input: webExtractInputSchema,
26
+ output: webExtractResultSchema
27
+ } };
28
+ //#endregion
29
+ export { webExtractInputSchema, webOperations };
30
+
31
+ //# sourceMappingURL=web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.js","names":[],"sources":["../../src/v0/web.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport type { BackofficeApiOperation } from \"../api\";\nimport { BACKOFFICE_PERMISSION } from \"./shared/permissions\";\n\nconst webPageInputSchema = z.lazy(() =>\n z\n .looseObject({\n url: z.url().optional(),\n html: z.string().optional(),\n })\n .refine((input) => input.url !== undefined || input.html !== undefined, {\n message: \"Web extraction input requires either `url` or `html`.\",\n }),\n);\n\nexport const webExtractInputSchema = z.lazy(() =>\n z.discriminatedUnion(\"action\", [\n z.object({ action: z.literal(\"content\"), input: webPageInputSchema }),\n z.object({ action: z.literal(\"markdown\"), input: webPageInputSchema }),\n ]),\n);\n\nconst webExtractResultSchema = z.lazy(() =>\n z.discriminatedUnion(\"action\", [\n z.object({ action: z.literal(\"content\"), result: z.string() }),\n z.object({ action: z.literal(\"markdown\"), result: z.string() }),\n ]),\n);\n\nexport const webOperations = {\n \"web.extract\": {\n description: \"Extract page content or Markdown from a URL or HTML.\",\n permissions: [BACKOFFICE_PERMISSION.cloudflare.browserRun],\n input: webExtractInputSchema,\n output: webExtractResultSchema,\n },\n} satisfies Record<string, BackofficeApiOperation>;\n"],"mappings":";;;AAKA,MAAM,qBAAqB,EAAE,WAC3B,EACG,YAAY;CACX,KAAK,EAAE,IAAI,CAAC,CAAC,SAAS;CACtB,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;AAC5B,CAAC,CAAC,CACD,QAAQ,UAAU,MAAM,QAAQ,KAAA,KAAa,MAAM,SAAS,KAAA,GAAW,EACtE,SAAS,wDACX,CAAC,CACL;AAEA,MAAa,wBAAwB,EAAE,WACrC,EAAE,mBAAmB,UAAU,CAC7B,EAAE,OAAO;CAAE,QAAQ,EAAE,QAAQ,SAAS;CAAG,OAAO;AAAmB,CAAC,GACpE,EAAE,OAAO;CAAE,QAAQ,EAAE,QAAQ,UAAU;CAAG,OAAO;AAAmB,CAAC,CACvE,CAAC,CACH;AAEA,MAAM,yBAAyB,EAAE,WAC/B,EAAE,mBAAmB,UAAU,CAC7B,EAAE,OAAO;CAAE,QAAQ,EAAE,QAAQ,SAAS;CAAG,QAAQ,EAAE,OAAO;AAAE,CAAC,GAC7D,EAAE,OAAO;CAAE,QAAQ,EAAE,QAAQ,UAAU;CAAG,QAAQ,EAAE,OAAO;AAAE,CAAC,CAChE,CAAC,CACH;AAEA,MAAa,gBAAgB,EAC3B,eAAe;CACb,aAAa;CACb,aAAa,CAAC,sBAAsB,WAAW,UAAU;CACzD,OAAO;CACP,QAAQ;AACV,EACF"}
@@ -0,0 +1,267 @@
1
+ import { z } from "zod";
2
+ //#region src/v0/workflow.d.ts
3
+ declare const workflowCreateInstanceResultSchema: z.ZodLazy<z.ZodObject<{
4
+ instanceId: z.ZodString;
5
+ }, z.core.$strip>>;
6
+ declare const workflowHistorySchema: z.ZodLazy<z.ZodObject<{
7
+ steps: z.ZodArray<z.ZodUnknown>;
8
+ events: z.ZodArray<z.ZodUnknown>;
9
+ emissions: z.ZodArray<z.ZodUnknown>;
10
+ }, z.core.$strip>>;
11
+ declare const workflowInstanceStatusSchema: z.ZodLazy<z.ZodObject<{
12
+ status: z.ZodEnum<{
13
+ active: "active";
14
+ paused: "paused";
15
+ errored: "errored";
16
+ terminated: "terminated";
17
+ complete: "complete";
18
+ waiting: "waiting";
19
+ }>;
20
+ error: z.ZodOptional<z.ZodObject<{
21
+ name: z.ZodString;
22
+ message: z.ZodString;
23
+ }, z.core.$strip>>;
24
+ output: z.ZodOptional<z.ZodUnknown>;
25
+ }, z.core.$strip>>;
26
+ declare const workflowInstanceDetailsSchema: z.ZodLazy<z.ZodObject<{
27
+ id: z.ZodString;
28
+ details: z.ZodLazy<z.ZodObject<{
29
+ status: z.ZodEnum<{
30
+ active: "active";
31
+ paused: "paused";
32
+ errored: "errored";
33
+ terminated: "terminated";
34
+ complete: "complete";
35
+ waiting: "waiting";
36
+ }>;
37
+ error: z.ZodOptional<z.ZodObject<{
38
+ name: z.ZodString;
39
+ message: z.ZodString;
40
+ }, z.core.$strip>>;
41
+ output: z.ZodOptional<z.ZodUnknown>;
42
+ }, z.core.$strip>>;
43
+ meta: z.ZodObject<{
44
+ name: z.ZodString;
45
+ path: z.ZodString;
46
+ createdAt: z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>;
47
+ updatedAt: z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>;
48
+ startedAt: z.ZodNullable<z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>>;
49
+ completedAt: z.ZodNullable<z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>>;
50
+ }, z.core.$strip>;
51
+ }, z.core.$strip>>;
52
+ declare const workflowListInstancesResultSchema: z.ZodLazy<z.ZodObject<{
53
+ instances: z.ZodArray<z.ZodObject<{
54
+ id: z.ZodString;
55
+ details: z.ZodLazy<z.ZodObject<{
56
+ status: z.ZodEnum<{
57
+ active: "active";
58
+ paused: "paused";
59
+ errored: "errored";
60
+ terminated: "terminated";
61
+ complete: "complete";
62
+ waiting: "waiting";
63
+ }>;
64
+ error: z.ZodOptional<z.ZodObject<{
65
+ name: z.ZodString;
66
+ message: z.ZodString;
67
+ }, z.core.$strip>>;
68
+ output: z.ZodOptional<z.ZodUnknown>;
69
+ }, z.core.$strip>>;
70
+ createdAt: z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>;
71
+ }, z.core.$strip>>;
72
+ nextCursor: z.ZodOptional<z.ZodString>;
73
+ hasNextPage: z.ZodBoolean;
74
+ }, z.core.$strip>>;
75
+ declare const workflowRetryFailedStepResultSchema: z.ZodLazy<z.ZodObject<{
76
+ accepted: z.ZodLiteral<true>;
77
+ instance: z.ZodObject<{
78
+ id: z.ZodString;
79
+ details: z.ZodLazy<z.ZodObject<{
80
+ status: z.ZodEnum<{
81
+ active: "active";
82
+ paused: "paused";
83
+ errored: "errored";
84
+ terminated: "terminated";
85
+ complete: "complete";
86
+ waiting: "waiting";
87
+ }>;
88
+ error: z.ZodOptional<z.ZodObject<{
89
+ name: z.ZodString;
90
+ message: z.ZodString;
91
+ }, z.core.$strip>>;
92
+ output: z.ZodOptional<z.ZodUnknown>;
93
+ }, z.core.$strip>>;
94
+ }, z.core.$strip>;
95
+ retry: z.ZodObject<{
96
+ stepKey: z.ZodString;
97
+ attempts: z.ZodNumber;
98
+ maxAttempts: z.ZodNumber;
99
+ scheduledAt: z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>;
100
+ }, z.core.$strip>;
101
+ }, z.core.$strip>>;
102
+ declare const workflowOperations: {
103
+ "workflow.instances.create": {
104
+ description: string;
105
+ permissions: {
106
+ readonly namespace: "workflow";
107
+ readonly permission: "modify";
108
+ }[];
109
+ input: z.ZodLazy<z.ZodObject<{
110
+ path: z.ZodString;
111
+ instanceId: z.ZodString;
112
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
113
+ }, z.core.$strict>>;
114
+ output: z.ZodLazy<z.ZodObject<{
115
+ instanceId: z.ZodString;
116
+ }, z.core.$strip>>;
117
+ };
118
+ "workflow.instances.send-event": {
119
+ description: string;
120
+ permissions: {
121
+ readonly namespace: "workflow";
122
+ readonly permission: "modify";
123
+ }[];
124
+ input: z.ZodLazy<z.ZodObject<{
125
+ instanceId: z.ZodString;
126
+ type: z.ZodString;
127
+ payload: z.ZodOptional<z.ZodUnknown>;
128
+ }, z.core.$strict>>;
129
+ output: z.ZodLazy<z.ZodObject<{
130
+ accepted: z.ZodLiteral<true>;
131
+ }, z.core.$strict>>;
132
+ };
133
+ "workflow.instances.retry-failed-step": {
134
+ description: string;
135
+ permissions: {
136
+ readonly namespace: "workflow";
137
+ readonly permission: "modify";
138
+ }[];
139
+ input: z.ZodLazy<z.ZodObject<{
140
+ instanceId: z.ZodString;
141
+ delayMs: z.ZodOptional<z.ZodNumber>;
142
+ }, z.core.$strict>>;
143
+ output: z.ZodLazy<z.ZodObject<{
144
+ accepted: z.ZodLiteral<true>;
145
+ instance: z.ZodObject<{
146
+ id: z.ZodString;
147
+ details: z.ZodLazy<z.ZodObject<{
148
+ status: z.ZodEnum<{
149
+ active: "active";
150
+ paused: "paused";
151
+ errored: "errored";
152
+ terminated: "terminated";
153
+ complete: "complete";
154
+ waiting: "waiting";
155
+ }>;
156
+ error: z.ZodOptional<z.ZodObject<{
157
+ name: z.ZodString;
158
+ message: z.ZodString;
159
+ }, z.core.$strip>>;
160
+ output: z.ZodOptional<z.ZodUnknown>;
161
+ }, z.core.$strip>>;
162
+ }, z.core.$strip>;
163
+ retry: z.ZodObject<{
164
+ stepKey: z.ZodString;
165
+ attempts: z.ZodNumber;
166
+ maxAttempts: z.ZodNumber;
167
+ scheduledAt: z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>;
168
+ }, z.core.$strip>;
169
+ }, z.core.$strip>>;
170
+ };
171
+ "workflow.instances.list": {
172
+ description: string;
173
+ permissions: {
174
+ readonly namespace: "workflow";
175
+ readonly permission: "read";
176
+ }[];
177
+ input: z.ZodLazy<z.ZodObject<{
178
+ status: z.ZodOptional<z.ZodEnum<{
179
+ active: "active";
180
+ paused: "paused";
181
+ errored: "errored";
182
+ terminated: "terminated";
183
+ complete: "complete";
184
+ waiting: "waiting";
185
+ }>>;
186
+ pageSize: z.ZodOptional<z.ZodNumber>;
187
+ cursor: z.ZodOptional<z.ZodString>;
188
+ }, z.core.$strict>>;
189
+ output: z.ZodLazy<z.ZodObject<{
190
+ instances: z.ZodArray<z.ZodObject<{
191
+ id: z.ZodString;
192
+ details: z.ZodLazy<z.ZodObject<{
193
+ status: z.ZodEnum<{
194
+ active: "active";
195
+ paused: "paused";
196
+ errored: "errored";
197
+ terminated: "terminated";
198
+ complete: "complete";
199
+ waiting: "waiting";
200
+ }>;
201
+ error: z.ZodOptional<z.ZodObject<{
202
+ name: z.ZodString;
203
+ message: z.ZodString;
204
+ }, z.core.$strip>>;
205
+ output: z.ZodOptional<z.ZodUnknown>;
206
+ }, z.core.$strip>>;
207
+ createdAt: z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>;
208
+ }, z.core.$strip>>;
209
+ nextCursor: z.ZodOptional<z.ZodString>;
210
+ hasNextPage: z.ZodBoolean;
211
+ }, z.core.$strip>>;
212
+ };
213
+ "workflow.instances.get": {
214
+ description: string;
215
+ permissions: {
216
+ readonly namespace: "workflow";
217
+ readonly permission: "read";
218
+ }[];
219
+ input: z.ZodLazy<z.ZodObject<{
220
+ instanceId: z.ZodString;
221
+ }, z.core.$strict>>;
222
+ output: z.ZodLazy<z.ZodObject<{
223
+ id: z.ZodString;
224
+ details: z.ZodLazy<z.ZodObject<{
225
+ status: z.ZodEnum<{
226
+ active: "active";
227
+ paused: "paused";
228
+ errored: "errored";
229
+ terminated: "terminated";
230
+ complete: "complete";
231
+ waiting: "waiting";
232
+ }>;
233
+ error: z.ZodOptional<z.ZodObject<{
234
+ name: z.ZodString;
235
+ message: z.ZodString;
236
+ }, z.core.$strip>>;
237
+ output: z.ZodOptional<z.ZodUnknown>;
238
+ }, z.core.$strip>>;
239
+ meta: z.ZodObject<{
240
+ name: z.ZodString;
241
+ path: z.ZodString;
242
+ createdAt: z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>;
243
+ updatedAt: z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>;
244
+ startedAt: z.ZodNullable<z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>>;
245
+ completedAt: z.ZodNullable<z.ZodLazy<z.ZodPreprocess<z.ZodString, unknown>>>;
246
+ }, z.core.$strip>;
247
+ }, z.core.$strip>>;
248
+ };
249
+ "workflow.instances.history": {
250
+ description: string;
251
+ permissions: {
252
+ readonly namespace: "workflow";
253
+ readonly permission: "read";
254
+ }[];
255
+ input: z.ZodLazy<z.ZodObject<{
256
+ instanceId: z.ZodString;
257
+ }, z.core.$strict>>;
258
+ output: z.ZodLazy<z.ZodObject<{
259
+ steps: z.ZodArray<z.ZodUnknown>;
260
+ events: z.ZodArray<z.ZodUnknown>;
261
+ emissions: z.ZodArray<z.ZodUnknown>;
262
+ }, z.core.$strip>>;
263
+ };
264
+ };
265
+ //#endregion
266
+ export { workflowCreateInstanceResultSchema, workflowHistorySchema, workflowInstanceDetailsSchema, workflowInstanceStatusSchema, workflowListInstancesResultSchema, workflowOperations, workflowRetryFailedStepResultSchema };
267
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","names":[],"sources":["../../src/v0/workflow.ts"],"mappings":";;cAMa,oCAAkC,EAAA,QAAA,EAAA;;;cAMlC,uBAAqB,EAAA,QAAA,EAAA;;;;;cAQrB,8BAA4B,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;cAQ5B,+BAA6B,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;cAe7B,mCAAiC,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;cAcjC,qCAAmC,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgBnC"}
@@ -0,0 +1,116 @@
1
+ import { BACKOFFICE_PERMISSION } from "./shared/permissions.js";
2
+ import { dateTimeStringOutputSchema } from "./shared/datetime.js";
3
+ import { z } from "zod";
4
+ //#region src/v0/workflow.ts
5
+ const workflowCreateInstanceResultSchema = z.lazy(() => z.object({ instanceId: z.string().trim().min(1) }));
6
+ const workflowHistorySchema = z.lazy(() => z.object({
7
+ steps: z.array(z.unknown()),
8
+ events: z.array(z.unknown()),
9
+ emissions: z.array(z.unknown())
10
+ }));
11
+ const workflowInstanceStatusSchema = z.lazy(() => z.object({
12
+ status: z.enum([
13
+ "active",
14
+ "paused",
15
+ "errored",
16
+ "terminated",
17
+ "complete",
18
+ "waiting"
19
+ ]),
20
+ error: z.object({
21
+ name: z.string(),
22
+ message: z.string()
23
+ }).optional(),
24
+ output: z.unknown().optional()
25
+ }));
26
+ const workflowInstanceDetailsSchema = z.lazy(() => z.object({
27
+ id: z.string().trim().min(1),
28
+ details: workflowInstanceStatusSchema,
29
+ meta: z.object({
30
+ name: z.string().trim().min(1),
31
+ path: z.string().trim().min(1),
32
+ createdAt: dateTimeStringOutputSchema,
33
+ updatedAt: dateTimeStringOutputSchema,
34
+ startedAt: dateTimeStringOutputSchema.nullable(),
35
+ completedAt: dateTimeStringOutputSchema.nullable()
36
+ })
37
+ }));
38
+ const workflowListInstancesResultSchema = z.lazy(() => z.object({
39
+ instances: z.array(z.object({
40
+ id: z.string().trim().min(1),
41
+ details: workflowInstanceStatusSchema,
42
+ createdAt: dateTimeStringOutputSchema
43
+ })),
44
+ nextCursor: z.string().optional(),
45
+ hasNextPage: z.boolean()
46
+ }));
47
+ const workflowRetryFailedStepResultSchema = z.lazy(() => z.object({
48
+ accepted: z.literal(true),
49
+ instance: z.object({
50
+ id: z.string().trim().min(1),
51
+ details: workflowInstanceStatusSchema
52
+ }),
53
+ retry: z.object({
54
+ stepKey: z.string().trim().min(1),
55
+ attempts: z.number(),
56
+ maxAttempts: z.number(),
57
+ scheduledAt: dateTimeStringOutputSchema
58
+ })
59
+ }));
60
+ const workflowOperations = {
61
+ "workflow.instances.create": {
62
+ description: "Start a saved durable workflow from its source path.",
63
+ permissions: [BACKOFFICE_PERMISSION.workflow.modify],
64
+ input: z.lazy(() => z.strictObject({
65
+ path: z.string().trim().min(1),
66
+ instanceId: z.string().trim().min(1),
67
+ payload: z.record(z.string(), z.unknown()).optional()
68
+ })),
69
+ output: workflowCreateInstanceResultSchema
70
+ },
71
+ "workflow.instances.send-event": {
72
+ description: "Send an event to a durable workflow instance.",
73
+ permissions: [BACKOFFICE_PERMISSION.workflow.modify],
74
+ input: z.lazy(() => z.strictObject({
75
+ instanceId: z.string().trim().min(1),
76
+ type: z.string().trim().min(1),
77
+ payload: z.unknown().optional()
78
+ })),
79
+ output: z.lazy(() => z.strictObject({ accepted: z.literal(true) }))
80
+ },
81
+ "workflow.instances.retry-failed-step": {
82
+ description: "Retry the failed top-level step of an errored durable workflow instance.",
83
+ permissions: [BACKOFFICE_PERMISSION.workflow.modify],
84
+ input: z.lazy(() => z.strictObject({
85
+ instanceId: z.string().trim().min(1),
86
+ delayMs: z.number().int().nonnegative().optional()
87
+ })),
88
+ output: workflowRetryFailedStepResultSchema
89
+ },
90
+ "workflow.instances.list": {
91
+ description: "List durable saved-workflow instances.",
92
+ permissions: [BACKOFFICE_PERMISSION.workflow.read],
93
+ input: z.lazy(() => z.strictObject({
94
+ status: workflowInstanceStatusSchema._zod.innerType.shape.status.optional(),
95
+ pageSize: z.number().int().positive().optional(),
96
+ cursor: z.string().trim().min(1).optional()
97
+ })),
98
+ output: workflowListInstancesResultSchema
99
+ },
100
+ "workflow.instances.get": {
101
+ description: "Get durable workflow instance details.",
102
+ permissions: [BACKOFFICE_PERMISSION.workflow.read],
103
+ input: z.lazy(() => z.strictObject({ instanceId: z.string().trim().min(1) })),
104
+ output: workflowInstanceDetailsSchema
105
+ },
106
+ "workflow.instances.history": {
107
+ description: "Get durable workflow step, event, and emission history.",
108
+ permissions: [BACKOFFICE_PERMISSION.workflow.read],
109
+ input: z.lazy(() => z.strictObject({ instanceId: z.string().trim().min(1) })),
110
+ output: workflowHistorySchema
111
+ }
112
+ };
113
+ //#endregion
114
+ export { workflowCreateInstanceResultSchema, workflowHistorySchema, workflowInstanceDetailsSchema, workflowInstanceStatusSchema, workflowListInstancesResultSchema, workflowOperations, workflowRetryFailedStepResultSchema };
115
+
116
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","names":[],"sources":["../../src/v0/workflow.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport type { BackofficeApiOperation } from \"../api\";\nimport { dateTimeStringOutputSchema } from \"./shared/datetime\";\nimport { BACKOFFICE_PERMISSION } from \"./shared/permissions\";\n\nexport const workflowCreateInstanceResultSchema = z.lazy(() =>\n z.object({\n instanceId: z.string().trim().min(1),\n }),\n);\n\nexport const workflowHistorySchema = z.lazy(() =>\n z.object({\n steps: z.array(z.unknown()),\n events: z.array(z.unknown()),\n emissions: z.array(z.unknown()),\n }),\n);\n\nexport const workflowInstanceStatusSchema = z.lazy(() =>\n z.object({\n status: z.enum([\"active\", \"paused\", \"errored\", \"terminated\", \"complete\", \"waiting\"]),\n error: z.object({ name: z.string(), message: z.string() }).optional(),\n output: z.unknown().optional(),\n }),\n);\n\nexport const workflowInstanceDetailsSchema = z.lazy(() =>\n z.object({\n id: z.string().trim().min(1),\n details: workflowInstanceStatusSchema,\n meta: z.object({\n name: z.string().trim().min(1),\n path: z.string().trim().min(1),\n createdAt: dateTimeStringOutputSchema,\n updatedAt: dateTimeStringOutputSchema,\n startedAt: dateTimeStringOutputSchema.nullable(),\n completedAt: dateTimeStringOutputSchema.nullable(),\n }),\n }),\n);\n\nexport const workflowListInstancesResultSchema = z.lazy(() =>\n z.object({\n instances: z.array(\n z.object({\n id: z.string().trim().min(1),\n details: workflowInstanceStatusSchema,\n createdAt: dateTimeStringOutputSchema,\n }),\n ),\n nextCursor: z.string().optional(),\n hasNextPage: z.boolean(),\n }),\n);\n\nexport const workflowRetryFailedStepResultSchema = z.lazy(() =>\n z.object({\n accepted: z.literal(true),\n instance: z.object({\n id: z.string().trim().min(1),\n details: workflowInstanceStatusSchema,\n }),\n retry: z.object({\n stepKey: z.string().trim().min(1),\n attempts: z.number(),\n maxAttempts: z.number(),\n scheduledAt: dateTimeStringOutputSchema,\n }),\n }),\n);\n\nexport const workflowOperations = {\n \"workflow.instances.create\": {\n description: \"Start a saved durable workflow from its source path.\",\n permissions: [BACKOFFICE_PERMISSION.workflow.modify],\n input: z.lazy(() =>\n z.strictObject({\n path: z.string().trim().min(1),\n instanceId: z.string().trim().min(1),\n payload: z.record(z.string(), z.unknown()).optional(),\n }),\n ),\n output: workflowCreateInstanceResultSchema,\n },\n \"workflow.instances.send-event\": {\n description: \"Send an event to a durable workflow instance.\",\n permissions: [BACKOFFICE_PERMISSION.workflow.modify],\n input: z.lazy(() =>\n z.strictObject({\n instanceId: z.string().trim().min(1),\n type: z.string().trim().min(1),\n payload: z.unknown().optional(),\n }),\n ),\n output: z.lazy(() => z.strictObject({ accepted: z.literal(true) })),\n },\n \"workflow.instances.retry-failed-step\": {\n description: \"Retry the failed top-level step of an errored durable workflow instance.\",\n permissions: [BACKOFFICE_PERMISSION.workflow.modify],\n input: z.lazy(() =>\n z.strictObject({\n instanceId: z.string().trim().min(1),\n delayMs: z.number().int().nonnegative().optional(),\n }),\n ),\n output: workflowRetryFailedStepResultSchema,\n },\n \"workflow.instances.list\": {\n description: \"List durable saved-workflow instances.\",\n permissions: [BACKOFFICE_PERMISSION.workflow.read],\n input: z.lazy(() =>\n z.strictObject({\n status: workflowInstanceStatusSchema._zod.innerType.shape.status.optional(),\n pageSize: z.number().int().positive().optional(),\n cursor: z.string().trim().min(1).optional(),\n }),\n ),\n output: workflowListInstancesResultSchema,\n },\n \"workflow.instances.get\": {\n description: \"Get durable workflow instance details.\",\n permissions: [BACKOFFICE_PERMISSION.workflow.read],\n input: z.lazy(() =>\n z.strictObject({\n instanceId: z.string().trim().min(1),\n }),\n ),\n output: workflowInstanceDetailsSchema,\n },\n \"workflow.instances.history\": {\n description: \"Get durable workflow step, event, and emission history.\",\n permissions: [BACKOFFICE_PERMISSION.workflow.read],\n input: z.lazy(() =>\n z.strictObject({\n instanceId: z.string().trim().min(1),\n }),\n ),\n output: workflowHistorySchema,\n },\n} satisfies Record<string, BackofficeApiOperation>;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,67 @@
1
1
  {
2
2
  "name": "@fragno-dev/backoffice-api",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.0.0",
4
+ "description": "Versioned contract for the Backoffice HTTP API: operations, zod schemas, and OpenAPI.",
5
+ "homepage": "https://fragno.dev",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/rejot-dev/fragno.git",
10
+ "directory": "packages/backoffice-api"
11
+ },
12
+ "files": [
13
+ "dist",
14
+ "README.md"
15
+ ],
16
+ "type": "module",
17
+ "exports": {
18
+ "./api": {
19
+ "types": "./dist/api.d.ts",
20
+ "default": "./dist/api.js"
21
+ },
22
+ "./errors": {
23
+ "types": "./dist/errors.d.ts",
24
+ "default": "./dist/errors.js"
25
+ },
26
+ "./openapi": {
27
+ "types": "./dist/openapi.d.ts",
28
+ "default": "./dist/openapi.js"
29
+ },
30
+ "./v0": {
31
+ "types": "./dist/v0/api.d.ts",
32
+ "default": "./dist/v0/api.js"
33
+ },
34
+ "./v0/*": {
35
+ "types": "./dist/v0/*.d.ts",
36
+ "default": "./dist/v0/*.js"
37
+ },
38
+ "./v0/shared/*": {
39
+ "types": "./dist/v0/shared/*.d.ts",
40
+ "default": "./dist/v0/shared/*.js"
41
+ }
42
+ },
43
+ "dependencies": {
44
+ "jose": "^6.2.3"
45
+ },
46
+ "devDependencies": {
47
+ "tsdown": "^0.22.4",
48
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
49
+ "vitest": "^4.1.4",
50
+ "zod": "^4.5.4",
51
+ "@fragno-private/typescript-config": "0.0.1"
52
+ },
53
+ "peerDependencies": {
54
+ "zod": "^4.5.4"
55
+ },
56
+ "scripts": {
57
+ "build": "tsdown",
58
+ "build:watch": "tsdown --watch",
59
+ "types:check": "tsc --noEmit",
60
+ "test": "vitest run",
61
+ "test:watch": "vitest --watch",
62
+ "format:package": "node ../../scripts/run-package-quality.mjs format",
63
+ "format:check:package": "node ../../scripts/run-package-quality.mjs format:check",
64
+ "lint:package": "node ../../scripts/run-package-quality.mjs lint",
65
+ "lint:fix:package": "node ../../scripts/run-package-quality.mjs lint:fix"
66
+ }
6
67
  }