@opengeni/contracts 5.1.0 → 5.1.1-canary.36079201993001

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.
@@ -33,6 +33,7 @@ export declare const ArtifactCatalogItem: z.ZodObject<{
33
33
  artifactId: z.ZodString;
34
34
  kind: z.ZodEnum<{
35
35
  assistant_completion: "assistant_completion";
36
+ browser_screenshot: "browser_screenshot";
36
37
  computer_screenshot: "computer_screenshot";
37
38
  event_media: "event_media";
38
39
  file: "file";
@@ -120,6 +121,7 @@ export declare const ArtifactCatalogListResponse: z.ZodObject<{
120
121
  artifactId: z.ZodString;
121
122
  kind: z.ZodEnum<{
122
123
  assistant_completion: "assistant_completion";
124
+ browser_screenshot: "browser_screenshot";
123
125
  computer_screenshot: "computer_screenshot";
124
126
  event_media: "event_media";
125
127
  file: "file";
package/dist/atlassian.js CHANGED
@@ -17,8 +17,8 @@ import {
17
17
  AtlassianSyncCadence,
18
18
  SaveAtlassianSourcesRequest,
19
19
  atlassianScopesAllowRead
20
- } from "./chunk-O23LYZFL.js";
21
- import "./chunk-M5ZGRVIQ.js";
20
+ } from "./chunk-2KSPFPTV.js";
21
+ import "./chunk-5IXYF6XN.js";
22
22
  import "./chunk-7ABONTXE.js";
23
23
  import "./chunk-NRMCVHAU.js";
24
24
  import "./chunk-WYBDERIY.js";
@@ -4,7 +4,7 @@ import {
4
4
  RetainedArtifactReferenceSchema,
5
5
  retainedOutputUnavailable,
6
6
  validateRetainedOutputEvidence
7
- } from "./chunk-M5ZGRVIQ.js";
7
+ } from "./chunk-5IXYF6XN.js";
8
8
  import {
9
9
  normalizeAutomaticSessionTitle
10
10
  } from "./chunk-7ABONTXE.js";
@@ -313,8 +313,8 @@ var AgentLearningDefaults = z6.object({
313
313
  }).strict();
314
314
  var DEFAULT_AGENT_LEARNING = Object.freeze({
315
315
  knowledge: "automatic",
316
- instructions: "review_first",
317
- skills: "review_first"
316
+ instructions: "automatic",
317
+ skills: "automatic"
318
318
  });
319
319
  var AgentLearningOverrides = AgentLearningDefaults.partial();
320
320
  var AgentLearningOverridePatch = z6.object({
@@ -586,6 +586,15 @@ var KnowledgeEntryRevision = z7.object({
586
586
  reviewBatchId: z7.uuid().nullable(),
587
587
  outcome: z7.enum(["published", "pending", "rejected", "superseded"])
588
588
  }).strict();
589
+ var KnowledgeIndexStatus = z7.enum([
590
+ "saved",
591
+ "queued",
592
+ "indexing",
593
+ "awaiting_funding",
594
+ "indexed",
595
+ "source_unavailable",
596
+ "provider_failed"
597
+ ]);
589
598
  var KnowledgeEntryRecord = z7.object({
590
599
  id: z7.uuid(),
591
600
  scope: KnowledgeEntryScope,
@@ -595,7 +604,8 @@ var KnowledgeEntryRecord = z7.object({
595
604
  revision: KnowledgeEntryRevision,
596
605
  archived: z7.boolean(),
597
606
  createdAt: z7.string().datetime({ offset: true }),
598
- updatedAt: z7.string().datetime({ offset: true })
607
+ updatedAt: z7.string().datetime({ offset: true }),
608
+ indexStatus: KnowledgeIndexStatus.optional()
599
609
  }).strict();
600
610
  var KnowledgeEntryListRequest = z7.object({
601
611
  query: z7.string().max(4096).optional(),
@@ -635,7 +645,8 @@ var KnowledgeEntrySummary = KnowledgeEntryRecord.omit({ revision: true }).extend
635
645
  var KnowledgeEntryListResponse = z7.object({
636
646
  entries: z7.array(KnowledgeEntrySummary),
637
647
  nextCursor: z7.string().nullable(),
638
- searchMode: z7.enum(["keyword", "hybrid", "vector"]).optional()
648
+ searchMode: z7.enum(["keyword", "hybrid", "vector"]).optional(),
649
+ fallbackReason: z7.enum(["awaiting_funding", "quota", "provider_unavailable", "query_limit"]).optional()
639
650
  });
640
651
  var KnowledgeReviewBatch = z7.object({
641
652
  id: z7.uuid(),
@@ -4370,6 +4381,14 @@ var BrowserObservation = z24.object({
4370
4381
  frameId: opaqueGeneration.nullable(),
4371
4382
  semantic: z24.union([InteractionSemanticSnapshot, InteractionSemanticDiff]).nullable(),
4372
4383
  screenshot: RetainedArtifactReferenceSchema.nullable(),
4384
+ viewport: z24.object({
4385
+ width: z24.number().int().positive(),
4386
+ height: z24.number().int().positive(),
4387
+ visualWidth: z24.number().positive(),
4388
+ visualHeight: z24.number().positive(),
4389
+ deviceScaleFactor: z24.number().positive(),
4390
+ maxTouchPoints: z24.number().int().nonnegative()
4391
+ }).strict().nullable().optional(),
4373
4392
  focusedRef: boundedOpaqueId.nullable(),
4374
4393
  changedRegions: z24.array(InteractionRect).max(INTERACTION_MAX_CHANGED_NODES),
4375
4394
  diagnostics: InteractionDiagnosticSummary,
@@ -4419,6 +4438,62 @@ var BrowserLocator = z24.discriminatedUnion("kind", [
4419
4438
  z24.object({ kind: z24.literal("test_id"), value: z24.string().min(1).max(2048) }).strict(),
4420
4439
  z24.object({ kind: z24.literal("css"), selector: z24.string().min(1).max(8192) }).strict()
4421
4440
  ]);
4441
+ var BrowserTargetState = z24.object({
4442
+ browserSessionId: z24.string().uuid(),
4443
+ controllerGeneration: opaqueGeneration,
4444
+ targetId: boundedOpaqueId,
4445
+ targetGeneration: opaqueGeneration,
4446
+ documentGeneration: opaqueGeneration.nullable(),
4447
+ frameId: opaqueGeneration.nullable()
4448
+ }).strict();
4449
+ var BrowserDomSafeAttribute = z24.enum([
4450
+ "href",
4451
+ "src",
4452
+ "alt",
4453
+ "title",
4454
+ "role",
4455
+ "aria-label",
4456
+ "aria-expanded",
4457
+ "aria-checked",
4458
+ "aria-selected",
4459
+ "placeholder",
4460
+ "type",
4461
+ "name",
4462
+ "data-testid"
4463
+ ]);
4464
+ var BrowserDomReadSelector = z24.string().min(1).max(8192).regex(/^[A-Za-z0-9_#.,\s>*-]+$/u);
4465
+ var BrowserDomReadLocator = z24.discriminatedUnion("kind", [
4466
+ z24.object({ kind: z24.literal("ref"), ref: boundedOpaqueId }).strict(),
4467
+ z24.object({ kind: z24.literal("placeholder"), text: z24.string().min(1).max(8192) }).strict(),
4468
+ z24.object({ kind: z24.literal("test_id"), value: z24.string().min(1).max(2048) }).strict(),
4469
+ z24.object({ kind: z24.literal("css"), selector: BrowserDomReadSelector }).strict()
4470
+ ]);
4471
+ var BrowserDomReadFence = z24.object({
4472
+ expectedTargetGeneration: opaqueGeneration,
4473
+ expectedDocumentGeneration: opaqueGeneration,
4474
+ expectedFrameId: opaqueGeneration
4475
+ });
4476
+ var BrowserDomReadRequest = z24.discriminatedUnion("kind", [
4477
+ BrowserDomReadFence.extend({
4478
+ kind: z24.literal("element"),
4479
+ locator: BrowserDomReadLocator,
4480
+ attributes: z24.array(BrowserDomSafeAttribute).max(13).optional(),
4481
+ maxChars: z24.number().int().min(1).max(32768).optional()
4482
+ }).strict(),
4483
+ BrowserDomReadFence.extend({
4484
+ kind: z24.literal("count"),
4485
+ selector: BrowserDomReadSelector
4486
+ }).strict()
4487
+ ]);
4488
+ var BrowserDomReadResponse = BrowserTargetState.extend({
4489
+ kind: z24.enum(["element", "count"]),
4490
+ count: z24.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
4491
+ text: z24.string().max(32768).nullable().optional(),
4492
+ value: z24.string().max(32768).nullable().optional(),
4493
+ attributes: z24.partialRecord(BrowserDomSafeAttribute, z24.string().max(32768).nullable()).optional(),
4494
+ redacted: z24.enum(["password", "payment", "private", "policy"]).nullable().optional(),
4495
+ truncated: z24.boolean()
4496
+ }).strict();
4422
4497
  var ComputerLocator = z24.discriminatedUnion("kind", [
4423
4498
  z24.object({ kind: z24.literal("ref"), ref: boundedOpaqueId }).strict(),
4424
4499
  z24.object({
@@ -4457,6 +4532,15 @@ var BrowserPermission = z24.enum([
4457
4532
  var BrowserPermissionSetting = z24.enum(["granted", "denied", "prompt"]);
4458
4533
  var browserActionVariants = [
4459
4534
  z24.object({ type: z24.literal("navigate"), url: boundedUrl }).strict(),
4535
+ z24.object({ type: z24.literal("history"), direction: z24.enum(["back", "forward"]) }).strict(),
4536
+ z24.object({ type: z24.literal("activate") }).strict(),
4537
+ z24.object({
4538
+ type: z24.literal("viewport"),
4539
+ width: z24.number().int().min(240).max(4096),
4540
+ height: z24.number().int().min(240).max(4096),
4541
+ mobile: z24.boolean(),
4542
+ deviceScaleFactor: z24.number().min(0.5).max(4).optional()
4543
+ }).strict(),
4460
4544
  z24.object({
4461
4545
  type: z24.literal("click"),
4462
4546
  locator: BrowserLocator,
@@ -5420,13 +5504,15 @@ var SandboxFileArtifactReceipt = z25.object({
5420
5504
  artifact: RetainedArtifactReferenceSchema
5421
5505
  }).strict().superRefine((value, context) => {
5422
5506
  const pathSegments = value.sandboxPath.split("/");
5423
- if (!value.sandboxPath.startsWith("/workspace/") || value.sandboxPath.includes("\0") || pathSegments.some(
5424
- (segment, index) => index > 1 && (!segment || segment === "." || segment === "..")
5507
+ const unc = value.sandboxPath.startsWith("//");
5508
+ const absolute = unc ? /^\/\/[^/]+\/[^/]+\/.+/u.test(value.sandboxPath) && !value.sandboxPath.startsWith("//?/") : value.sandboxPath.startsWith("/") || /^[A-Z]:\//u.test(value.sandboxPath);
5509
+ if (!absolute || /[\\\u0000-\u001f\u007f]/u.test(value.sandboxPath) || pathSegments.some(
5510
+ (segment, index) => index >= (unc ? 2 : 1) && (!segment || segment === "." || segment === "..")
5425
5511
  ) || pathSegments.at(-1) !== value.filename) {
5426
5512
  context.addIssue({
5427
5513
  code: "custom",
5428
5514
  path: ["sandboxPath"],
5429
- message: "sandbox path must canonically identify the published filename in /workspace"
5515
+ message: "sandbox path must canonically identify the published filename at an absolute host path"
5430
5516
  });
5431
5517
  }
5432
5518
  if (value.artifact.kind !== "file" || value.artifact.retention.policy !== "workspace_file") {
@@ -10380,6 +10466,8 @@ var FIRST_PARTY_MCP_TOOL_NAMES = [
10380
10466
  "browser_open",
10381
10467
  "browser_tabs",
10382
10468
  "browser_observe",
10469
+ "browser_read",
10470
+ "browser_screenshot",
10383
10471
  "browser_act",
10384
10472
  "browser_clipboard",
10385
10473
  "browser_debug",
@@ -10401,6 +10489,7 @@ var FIRST_PARTY_MCP_TOOL_NAMES = [
10401
10489
  "environment_set_variable",
10402
10490
  "capability_catalog_search",
10403
10491
  "capability_authorization_request",
10492
+ "custom_mcp_setup_request",
10404
10493
  "github_connect_link",
10405
10494
  "github_repositories_list",
10406
10495
  "social_connections_list",
@@ -10479,6 +10568,8 @@ var FIRST_PARTY_IN_PROCESS_TOOL_NAMES = [
10479
10568
  "browser_open",
10480
10569
  "browser_tabs",
10481
10570
  "browser_observe",
10571
+ "browser_read",
10572
+ "browser_screenshot",
10482
10573
  "browser_act",
10483
10574
  "browser_clipboard",
10484
10575
  "browser_debug",
@@ -13439,7 +13530,17 @@ var RotateSessionMcpCredentialsRequest = z48.object({
13439
13530
  expectedCredentialVersion: z48.number().int().min(1).max(2147483646),
13440
13531
  expectedServerUrl: httpsUrl,
13441
13532
  headers: z48.record(z48.string(), z48.string())
13442
- }).strict()
13533
+ }).strict().or(
13534
+ z48.object({
13535
+ id: SessionMcpServerId,
13536
+ expectedCredentialVersion: z48.number().int().min(1).max(2147483646),
13537
+ expectedServerUrl: httpsUrl,
13538
+ /** Resolve from the authenticated caller's native account inventory. */
13539
+ nativeConnectionId: z48.string().uuid(),
13540
+ /** Explicit opt-in; must match the selected account's bound MCP URL. */
13541
+ replacementServerUrl: httpsUrl.optional()
13542
+ }).strict()
13543
+ )
13443
13544
  ).min(1).max(64)
13444
13545
  }).strict();
13445
13546
  var RotateSessionMcpCredentialsReceipt = z48.object({
@@ -14435,7 +14536,7 @@ Required native document reports (persisted; completion requires current-head in
14435
14536
  return `Previous session goal (frozen at logical-turn acceptance; objective revision ${snapshot.objectiveRevision}; status completed): ${snapshot.text}
14436
14537
  Success criteria: ${snapshot.successCriteria ?? "none specified"}.${rootConstraints} This goal is complete and remains as historical context. If the user provides a new long-running objective, create it with opengeni__goal_set; goal_update cannot revise a completed goal.`;
14437
14538
  }
14438
- const policy = snapshot.mutationPolicy === "review_changes" ? "Semantic changes are proposals until a user applies them." : snapshot.mutationPolicy === "preserve_intent" ? "You may directly refine wording without changing intent; adaptations and replacements are proposals until a user applies them." : "You may autonomously refine, adapt, or replace the goal when explicit user direction or material new evidence justifies it.";
14539
+ const policy = snapshot.mutationPolicy === "review_changes" ? "Semantic changes are proposals until a user applies them." : "You may update your operational goal directly when explicit user direction or material new evidence justifies it. Keep it faithful to the user's intended outcome; changing the goal grants no additional authority.";
14439
14540
  return `Standing session goal (frozen at logical-turn acceptance; objective revision ${snapshot.objectiveRevision}; status ${snapshot.state}): ${snapshot.text}
14440
14541
  Success criteria: ${snapshot.successCriteria ?? "none specified"}.${rootConstraints}${reports}
14441
14542
  Mutation policy: ${snapshot.mutationPolicy}. ${policy} Treat later ordinary messages as additional context unless they explicitly redirect this objective. Root constraints are user/API authority and cannot be widened, removed, or rewritten by an agent. Semantic goal changes use opengeni__goal_update with the expected objective revision, change kind, and rationale.`;
@@ -18512,8 +18613,25 @@ var ToolAuthNeededPayload = z48.object({
18512
18613
  action: z48.enum(["connect", "add_credentials", "enable"]),
18513
18614
  rationale: z48.string().min(1).max(2e3),
18514
18615
  requiredVariables: z48.array(VariableSetVariableName).max(64).default([])
18616
+ }).optional(),
18617
+ /** An agent suggestion, not a catalog entry or authority to contact this URL. */
18618
+ setupRequest: z48.object({
18619
+ kind: z48.literal("mcp"),
18620
+ name: z48.string().trim().min(1).max(256),
18621
+ endpointUrl: z48.string().url().max(2048).refine((url) => {
18622
+ const parsed = new URL(url);
18623
+ return parsed.protocol === "https:" && !parsed.username && !parsed.password && !parsed.hash && !parsed.search;
18624
+ }),
18625
+ rationale: z48.string().trim().min(1).max(2e3)
18515
18626
  }).optional()
18516
18627
  }).superRefine((payload, context) => {
18628
+ if (payload.setupRequest && (payload.capability || payload.authoritySource === "host")) {
18629
+ context.addIssue({
18630
+ code: "custom",
18631
+ message: "A setup proposal cannot carry connection authority",
18632
+ path: ["setupRequest"]
18633
+ });
18634
+ }
18517
18635
  if (payload.authoritySource === "host") {
18518
18636
  if (payload.reason !== "unsupported_auth") {
18519
18637
  context.addIssue({
@@ -21421,6 +21539,7 @@ export {
21421
21539
  KnowledgeEntryWriteReceipt,
21422
21540
  KnowledgeFilePreparationResult,
21423
21541
  KnowledgeEntryRevision,
21542
+ KnowledgeIndexStatus,
21424
21543
  KnowledgeEntryRecord,
21425
21544
  KnowledgeEntryListRequest,
21426
21545
  KnowledgeEntrySummary,
@@ -21789,6 +21908,12 @@ export {
21789
21908
  BrowserDiagnosticEntry,
21790
21909
  BrowserDiagnosticBatch,
21791
21910
  BrowserLocator,
21911
+ BrowserTargetState,
21912
+ BrowserDomSafeAttribute,
21913
+ BrowserDomReadSelector,
21914
+ BrowserDomReadLocator,
21915
+ BrowserDomReadRequest,
21916
+ BrowserDomReadResponse,
21792
21917
  ComputerLocator,
21793
21918
  BrowserPermission,
21794
21919
  BrowserPermissionSetting,
@@ -23285,4 +23410,4 @@ export {
23285
23410
  AtlassianDisconnectRequest,
23286
23411
  atlassianScopesAllowRead
23287
23412
  };
23288
- //# sourceMappingURL=chunk-O23LYZFL.js.map
23413
+ //# sourceMappingURL=chunk-2KSPFPTV.js.map