@agent-vm/agent-portal-sdk 0.0.109

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 (47) hide show
  1. package/LICENSE +21 -0
  2. package/dist/adapter-boundary/index.d.ts +41 -0
  3. package/dist/adapter-boundary/index.d.ts.map +1 -0
  4. package/dist/adapter-boundary/index.js +29 -0
  5. package/dist/adapter-boundary/index.js.map +1 -0
  6. package/dist/approval-surface/index.d.ts +48 -0
  7. package/dist/approval-surface/index.d.ts.map +1 -0
  8. package/dist/approval-surface/index.js +22 -0
  9. package/dist/approval-surface/index.js.map +1 -0
  10. package/dist/artifact-reference-schema-XiJ280uV.js +12 -0
  11. package/dist/artifact-reference-schema-XiJ280uV.js.map +1 -0
  12. package/dist/artifact-surface/index.d.ts +49 -0
  13. package/dist/artifact-surface/index.d.ts.map +1 -0
  14. package/dist/artifact-surface/index.js +27 -0
  15. package/dist/artifact-surface/index.js.map +1 -0
  16. package/dist/capability-description-surface/index.d.ts +142 -0
  17. package/dist/capability-description-surface/index.d.ts.map +1 -0
  18. package/dist/capability-description-surface/index.js +2 -0
  19. package/dist/capability-descriptor-schema-wgtHF0Ic.js +86 -0
  20. package/dist/capability-descriptor-schema-wgtHF0Ic.js.map +1 -0
  21. package/dist/index-DJiaGYF_.d.ts +17 -0
  22. package/dist/index-DJiaGYF_.d.ts.map +1 -0
  23. package/dist/index.d.ts +10 -0
  24. package/dist/index.js +12 -0
  25. package/dist/json-value-schema-Bj42URkc.d.ts +18 -0
  26. package/dist/json-value-schema-Bj42URkc.d.ts.map +1 -0
  27. package/dist/json-value-schema-D-3hfAyL.js +19 -0
  28. package/dist/json-value-schema-D-3hfAyL.js.map +1 -0
  29. package/dist/portal-call-result-schema-BIqFTFK8.js +102 -0
  30. package/dist/portal-call-result-schema-BIqFTFK8.js.map +1 -0
  31. package/dist/portal-call-result-schema-DjpKPcE_.d.ts +1271 -0
  32. package/dist/portal-call-result-schema-DjpKPcE_.d.ts.map +1 -0
  33. package/dist/portal-call-surface/index.d.ts +153 -0
  34. package/dist/portal-call-surface/index.d.ts.map +1 -0
  35. package/dist/portal-call-surface/index.js +69 -0
  36. package/dist/portal-call-surface/index.js.map +1 -0
  37. package/dist/portal-error-schema-D58onG2t.js +61 -0
  38. package/dist/portal-error-schema-D58onG2t.js.map +1 -0
  39. package/dist/portal-event-surface/index.d.ts +229 -0
  40. package/dist/portal-event-surface/index.d.ts.map +1 -0
  41. package/dist/portal-event-surface/index.js +51 -0
  42. package/dist/portal-event-surface/index.js.map +1 -0
  43. package/dist/testing/index.d.ts +20 -0
  44. package/dist/testing/index.d.ts.map +1 -0
  45. package/dist/testing/index.js +27 -0
  46. package/dist/testing/index.js.map +1 -0
  47. package/package.json +71 -0
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ //#region src/contract-primitives/models/json-value-schema.ts
3
+ const JsonStringMaxLength = 64 * 1024;
4
+ const JsonArrayMaxItems = 1e3;
5
+ const JsonObjectMaxEntries = 1e3;
6
+ const JsonObjectKeyMaxLength = 256;
7
+ const JsonValueSchema = z.lazy(() => z.union([
8
+ z.string().max(JsonStringMaxLength),
9
+ z.number().finite(),
10
+ z.boolean(),
11
+ z.null(),
12
+ z.array(JsonValueSchema).max(JsonArrayMaxItems),
13
+ JsonObjectSchema
14
+ ]));
15
+ const JsonObjectSchema = z.record(z.string().min(1).max(256), JsonValueSchema).refine((value) => Object.keys(value).length <= JsonObjectMaxEntries, { message: "JSON object exceeds the maximum number of entries." });
16
+ //#endregion
17
+ export { JsonStringMaxLength as a, JsonObjectSchema as i, JsonObjectKeyMaxLength as n, JsonValueSchema as o, JsonObjectMaxEntries as r, JsonArrayMaxItems as t };
18
+
19
+ //# sourceMappingURL=json-value-schema-D-3hfAyL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-value-schema-D-3hfAyL.js","names":[],"sources":["../src/contract-primitives/models/json-value-schema.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport type JsonPrimitive = boolean | null | number | string;\nexport type JsonArray = JsonValue[];\nexport type JsonObject = { [key: string]: JsonValue };\nexport type JsonValue = JsonArray | JsonObject | JsonPrimitive;\n\nexport const JsonStringMaxLength = 64 * 1024;\nexport const JsonArrayMaxItems = 1_000;\nexport const JsonObjectMaxEntries = 1_000;\nexport const JsonObjectKeyMaxLength = 256;\n\nexport const JsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n\tz.union([\n\t\tz.string().max(JsonStringMaxLength),\n\t\tz.number().finite(),\n\t\tz.boolean(),\n\t\tz.null(),\n\t\tz.array(JsonValueSchema).max(JsonArrayMaxItems),\n\t\tJsonObjectSchema,\n\t]),\n);\n\nexport const JsonObjectSchema: z.ZodType<JsonObject> = z\n\t.record(z.string().min(1).max(JsonObjectKeyMaxLength), JsonValueSchema)\n\t.refine((value) => Object.keys(value).length <= JsonObjectMaxEntries, {\n\t\tmessage: 'JSON object exceeds the maximum number of entries.',\n\t});\n"],"mappings":";;AAOA,MAAa,sBAAsB,KAAK;AACxC,MAAa,oBAAoB;AACjC,MAAa,uBAAuB;AACpC,MAAa,yBAAyB;AAEtC,MAAa,kBAAwC,EAAE,WACtD,EAAE,MAAM;CACP,EAAE,QAAQ,CAAC,IAAI,oBAAoB;CACnC,EAAE,QAAQ,CAAC,QAAQ;CACnB,EAAE,SAAS;CACX,EAAE,MAAM;CACR,EAAE,MAAM,gBAAgB,CAAC,IAAI,kBAAkB;CAC/C;CACA,CAAC,CACF;AAED,MAAa,mBAA0C,EACrD,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAA,IAA2B,EAAE,gBAAgB,CACtE,QAAQ,UAAU,OAAO,KAAK,MAAM,CAAC,UAAU,sBAAsB,EACrE,SAAS,sDACT,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { a as ItemIdSchema, i as SafeDiagnosticSchema, n as PortalErrorSchema, o as RequestIdSchema } from "./portal-error-schema-D58onG2t.js";
2
+ import { t as ArtifactReferenceSchema } from "./artifact-reference-schema-XiJ280uV.js";
3
+ import { i as JsonObjectSchema, o as JsonValueSchema } from "./json-value-schema-D-3hfAyL.js";
4
+ import { n as CapabilitySearchMatchSchema, r as CapabilitySummarySchema, t as CapabilityDescriptorSchema } from "./capability-descriptor-schema-wgtHF0Ic.js";
5
+ import { z } from "zod";
6
+ //#region src/portal-call-surface/models/portal-batch-id-refinement.ts
7
+ function addDuplicateItemIdIssues(items, context) {
8
+ const seenIds = /* @__PURE__ */ new Set();
9
+ const duplicateIds = /* @__PURE__ */ new Set();
10
+ for (const item of items) {
11
+ if (seenIds.has(item.id)) duplicateIds.add(item.id);
12
+ seenIds.add(item.id);
13
+ }
14
+ for (const duplicateId of [...duplicateIds].toSorted()) context.addIssue({
15
+ code: "custom",
16
+ message: `Duplicate portal item id "${duplicateId}".`,
17
+ path: ["id"]
18
+ });
19
+ }
20
+ //#endregion
21
+ //#region src/portal-call-surface/models/portal-call-request-schema.ts
22
+ const PortalBatchMaxItems = 50;
23
+ const PortalCallItemRequestSchema = z.object({
24
+ arguments: JsonObjectSchema,
25
+ id: RequestIdSchema,
26
+ namespace: z.string().min(1),
27
+ name: z.string().min(1)
28
+ }).strict();
29
+ const PortalCallRequestSchema = z.object({
30
+ calls: z.array(PortalCallItemRequestSchema).min(1).max(50),
31
+ requestId: RequestIdSchema.optional()
32
+ }).strict().superRefine((request, context) => {
33
+ addDuplicateItemIdIssues(request.calls, context);
34
+ });
35
+ //#endregion
36
+ //#region src/portal-call-surface/models/portal-call-result-schema.ts
37
+ const TruncationMetadataSchema = z.object({
38
+ omittedBytes: z.number().int().nonnegative().optional(),
39
+ truncated: z.boolean()
40
+ }).strict();
41
+ function createPortalItemResultSchema(valueSchema) {
42
+ return z.discriminatedUnion("status", [z.object({
43
+ artifacts: z.array(ArtifactReferenceSchema).optional(),
44
+ diagnostics: z.array(SafeDiagnosticSchema).optional(),
45
+ id: ItemIdSchema,
46
+ status: z.literal("ok"),
47
+ truncation: TruncationMetadataSchema.optional(),
48
+ value: valueSchema
49
+ }).strict(), z.object({
50
+ diagnostics: z.array(SafeDiagnosticSchema).optional(),
51
+ error: PortalErrorSchema,
52
+ id: ItemIdSchema,
53
+ status: z.literal("error")
54
+ }).strict()]);
55
+ }
56
+ function createPortalResultSchema(itemSchema) {
57
+ return z.object({
58
+ auditCorrelationId: z.string().min(1).optional(),
59
+ diagnostics: z.array(SafeDiagnosticSchema).optional(),
60
+ items: z.array(itemSchema),
61
+ ok: z.boolean()
62
+ }).strict().superRefine((result, context) => {
63
+ const allItemsSucceeded = result.items.every((item) => item.status === "ok");
64
+ if (result.ok !== allItemsSucceeded) context.addIssue({
65
+ code: z.ZodIssueCode.custom,
66
+ message: "Portal result ok must match item statuses.",
67
+ path: ["ok"]
68
+ });
69
+ });
70
+ }
71
+ const PortalCallItemResultSchema = createPortalItemResultSchema(JsonValueSchema);
72
+ const PortalListItemValueSchema = z.object({
73
+ namespaces: z.array(z.string().min(1)),
74
+ nextCursor: z.string().regex(/^\d+$/u).optional(),
75
+ tools: z.array(CapabilitySummarySchema)
76
+ }).strict();
77
+ const PortalSearchItemValueSchema = z.object({ tools: z.array(CapabilitySearchMatchSchema) }).strict();
78
+ const PortalDescribeItemValueSchema = z.object({ tools: z.array(CapabilityDescriptorSchema) }).strict();
79
+ const PortalListItemResultSchema = createPortalItemResultSchema(PortalListItemValueSchema);
80
+ const PortalSearchItemResultSchema = createPortalItemResultSchema(PortalSearchItemValueSchema);
81
+ const PortalDescribeItemResultSchema = createPortalItemResultSchema(PortalDescribeItemValueSchema);
82
+ const PortalCallResultSchema = createPortalResultSchema(PortalCallItemResultSchema);
83
+ const PortalListResultSchema = createPortalResultSchema(PortalListItemResultSchema);
84
+ const PortalSearchResultSchema = createPortalResultSchema(PortalSearchItemResultSchema);
85
+ const PortalDescribeResultSchema = createPortalResultSchema(PortalDescribeItemResultSchema);
86
+ const PortalGenericItemResultSchema = z.discriminatedUnion("status", [z.object({
87
+ artifacts: z.array(ArtifactReferenceSchema).optional(),
88
+ diagnostics: z.array(SafeDiagnosticSchema).optional(),
89
+ id: ItemIdSchema,
90
+ status: z.literal("ok"),
91
+ truncation: TruncationMetadataSchema.optional(),
92
+ value: JsonValueSchema
93
+ }).strict(), z.object({
94
+ diagnostics: z.array(SafeDiagnosticSchema).optional(),
95
+ error: PortalErrorSchema,
96
+ id: ItemIdSchema,
97
+ status: z.literal("error")
98
+ }).strict()]);
99
+ //#endregion
100
+ export { addDuplicateItemIdIssues as _, PortalDescribeResultSchema as a, PortalListItemValueSchema as c, PortalSearchItemValueSchema as d, PortalSearchResultSchema as f, PortalCallRequestSchema as g, PortalCallItemRequestSchema as h, PortalDescribeItemValueSchema as i, PortalListResultSchema as l, PortalBatchMaxItems as m, PortalCallResultSchema as n, PortalGenericItemResultSchema as o, TruncationMetadataSchema as p, PortalDescribeItemResultSchema as r, PortalListItemResultSchema as s, PortalCallItemResultSchema as t, PortalSearchItemResultSchema as u };
101
+
102
+ //# sourceMappingURL=portal-call-result-schema-BIqFTFK8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-call-result-schema-BIqFTFK8.js","names":[],"sources":["../src/portal-call-surface/models/portal-batch-id-refinement.ts","../src/portal-call-surface/models/portal-call-request-schema.ts","../src/portal-call-surface/models/portal-call-result-schema.ts"],"sourcesContent":["import type { z } from 'zod';\n\nexport interface PortalBatchItemWithId {\n\treadonly id: string;\n}\n\nexport function addDuplicateItemIdIssues(\n\titems: readonly PortalBatchItemWithId[],\n\tcontext: z.RefinementCtx,\n): void {\n\tconst seenIds = new Set<string>();\n\tconst duplicateIds = new Set<string>();\n\tfor (const item of items) {\n\t\tif (seenIds.has(item.id)) {\n\t\t\tduplicateIds.add(item.id);\n\t\t}\n\t\tseenIds.add(item.id);\n\t}\n\tfor (const duplicateId of [...duplicateIds].toSorted()) {\n\t\tcontext.addIssue({\n\t\t\tcode: 'custom',\n\t\t\tmessage: `Duplicate portal item id \"${duplicateId}\".`,\n\t\t\tpath: ['id'],\n\t\t});\n\t}\n}\n","import { z } from 'zod';\n\nimport { JsonObjectSchema } from '../../contract-primitives/models/json-value-schema.js';\nimport { RequestIdSchema } from '../../contract-primitives/models/request-id-schema.js';\nimport { addDuplicateItemIdIssues } from './portal-batch-id-refinement.js';\n\nexport const PortalBatchMaxItems = 50;\n\nexport const PortalCallItemRequestSchema = z\n\t.object({\n\t\targuments: JsonObjectSchema,\n\t\tid: RequestIdSchema,\n\t\tnamespace: z.string().min(1),\n\t\tname: z.string().min(1),\n\t})\n\t.strict();\n\nexport const PortalCallRequestSchema = z\n\t.object({\n\t\tcalls: z.array(PortalCallItemRequestSchema).min(1).max(PortalBatchMaxItems),\n\t\trequestId: RequestIdSchema.optional(),\n\t})\n\t.strict()\n\t.superRefine((request, context) => {\n\t\taddDuplicateItemIdIssues(request.calls, context);\n\t});\n\nexport type PortalCallRequest = z.infer<typeof PortalCallRequestSchema>;\n","import { z } from 'zod';\n\nimport { ArtifactReferenceSchema } from '../../artifact-surface/models/artifact-reference-schema.js';\nimport {\n\tCapabilityDescriptorSchema,\n\tCapabilitySearchMatchSchema,\n\tCapabilitySummarySchema,\n} from '../../capability-description-surface/models/capability-descriptor-schema.js';\nimport { JsonValueSchema } from '../../contract-primitives/models/json-value-schema.js';\nimport { ItemIdSchema } from '../../contract-primitives/models/request-id-schema.js';\nimport { SafeDiagnosticSchema } from '../../portal-event-surface/models/safe-diagnostic-schema.js';\nimport { PortalErrorSchema } from './portal-error-schema.js';\n\nexport const TruncationMetadataSchema = z\n\t.object({\n\t\tomittedBytes: z.number().int().nonnegative().optional(),\n\t\ttruncated: z.boolean(),\n\t})\n\t.strict();\n\n// oxlint-disable-next-line explicit-function-return-type -- Preserve the exact Zod discriminated-union inference for each operation-specific result schema.\nfunction createPortalItemResultSchema<TValueSchema extends z.ZodType>(valueSchema: TValueSchema) {\n\treturn z.discriminatedUnion('status', [\n\t\tz\n\t\t\t.object({\n\t\t\t\tartifacts: z.array(ArtifactReferenceSchema).optional(),\n\t\t\t\tdiagnostics: z.array(SafeDiagnosticSchema).optional(),\n\t\t\t\tid: ItemIdSchema,\n\t\t\t\tstatus: z.literal('ok'),\n\t\t\t\ttruncation: TruncationMetadataSchema.optional(),\n\t\t\t\tvalue: valueSchema,\n\t\t\t})\n\t\t\t.strict(),\n\t\tz\n\t\t\t.object({\n\t\t\t\tdiagnostics: z.array(SafeDiagnosticSchema).optional(),\n\t\t\t\terror: PortalErrorSchema,\n\t\t\t\tid: ItemIdSchema,\n\t\t\t\tstatus: z.literal('error'),\n\t\t\t})\n\t\t\t.strict(),\n\t]);\n}\n\n// oxlint-disable-next-line explicit-function-return-type -- Preserve the exact Zod object inference derived from the item schema.\nfunction createPortalResultSchema<TItemSchema extends z.ZodType<{ readonly status: string }>>(\n\titemSchema: TItemSchema,\n) {\n\treturn z\n\t\t.object({\n\t\t\tauditCorrelationId: z.string().min(1).optional(),\n\t\t\tdiagnostics: z.array(SafeDiagnosticSchema).optional(),\n\t\t\titems: z.array(itemSchema),\n\t\t\tok: z.boolean(),\n\t\t})\n\t\t.strict()\n\t\t.superRefine((result, context) => {\n\t\t\tconst allItemsSucceeded = result.items.every((item) => item.status === 'ok');\n\t\t\tif (result.ok !== allItemsSucceeded) {\n\t\t\t\tcontext.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: 'Portal result ok must match item statuses.',\n\t\t\t\t\tpath: ['ok'],\n\t\t\t\t});\n\t\t\t}\n\t\t});\n}\n\nexport const PortalCallItemResultSchema = createPortalItemResultSchema(JsonValueSchema);\n\nexport const PortalListItemValueSchema = z\n\t.object({\n\t\tnamespaces: z.array(z.string().min(1)),\n\t\tnextCursor: z.string().regex(/^\\d+$/u).optional(),\n\t\ttools: z.array(CapabilitySummarySchema),\n\t})\n\t.strict();\n\nexport const PortalSearchItemValueSchema = z\n\t.object({\n\t\ttools: z.array(CapabilitySearchMatchSchema),\n\t})\n\t.strict();\n\nexport const PortalDescribeItemValueSchema = z\n\t.object({\n\t\ttools: z.array(CapabilityDescriptorSchema),\n\t})\n\t.strict();\n\nexport const PortalListItemResultSchema = createPortalItemResultSchema(PortalListItemValueSchema);\nexport const PortalSearchItemResultSchema = createPortalItemResultSchema(\n\tPortalSearchItemValueSchema,\n);\nexport const PortalDescribeItemResultSchema = createPortalItemResultSchema(\n\tPortalDescribeItemValueSchema,\n);\n\nexport const PortalCallResultSchema = createPortalResultSchema(PortalCallItemResultSchema);\n\nexport type PortalCallResult = z.infer<typeof PortalCallResultSchema>;\n\nexport const PortalListResultSchema = createPortalResultSchema(PortalListItemResultSchema);\nexport type PortalListResult = z.infer<typeof PortalListResultSchema>;\n\nexport const PortalSearchResultSchema = createPortalResultSchema(PortalSearchItemResultSchema);\nexport type PortalSearchResult = z.infer<typeof PortalSearchResultSchema>;\n\nexport const PortalDescribeResultSchema = createPortalResultSchema(PortalDescribeItemResultSchema);\nexport type PortalDescribeResult = z.infer<typeof PortalDescribeResultSchema>;\n\nexport const PortalGenericItemResultSchema = z.discriminatedUnion('status', [\n\tz\n\t\t.object({\n\t\t\tartifacts: z.array(ArtifactReferenceSchema).optional(),\n\t\t\tdiagnostics: z.array(SafeDiagnosticSchema).optional(),\n\t\t\tid: ItemIdSchema,\n\t\t\tstatus: z.literal('ok'),\n\t\t\ttruncation: TruncationMetadataSchema.optional(),\n\t\t\tvalue: JsonValueSchema,\n\t\t})\n\t\t.strict(),\n\tz\n\t\t.object({\n\t\t\tdiagnostics: z.array(SafeDiagnosticSchema).optional(),\n\t\t\terror: PortalErrorSchema,\n\t\t\tid: ItemIdSchema,\n\t\t\tstatus: z.literal('error'),\n\t\t})\n\t\t.strict(),\n]);\n"],"mappings":"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"}