@spotpatch/shared 1.14.3 → 1.16.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 (41) hide show
  1. package/dist/{annotation-Cz-NNgR4.d.cts → annotation-eo_ltNRm.d.cts} +24 -1
  2. package/dist/{annotation-Cz-NNgR4.d.ts → annotation-eo_ltNRm.d.ts} +24 -1
  3. package/dist/{chunk-JTZFOTPT.js → chunk-7777QFBJ.js} +2 -2
  4. package/dist/{chunk-CLQ6MIJB.js → chunk-D7R32NFF.js} +5 -4
  5. package/dist/chunk-D7R32NFF.js.map +1 -0
  6. package/dist/{chunk-R6QJFNT2.js → chunk-FCY5V76A.js} +31 -1
  7. package/dist/chunk-FCY5V76A.js.map +1 -0
  8. package/dist/{chunk-EWJTKNL4.js → chunk-RWFGFW4N.js} +3 -2
  9. package/dist/chunk-RWFGFW4N.js.map +1 -0
  10. package/dist/{contextual-ask-BpbkpFFf.d.cts → contextual-ask-Dz3Mh9LR.d.cts} +117 -1
  11. package/dist/{contextual-ask-BpbkpFFf.d.ts → contextual-ask-Dz3Mh9LR.d.ts} +117 -1
  12. package/dist/contextual-ask-browser.cjs +2 -1
  13. package/dist/contextual-ask-browser.cjs.map +1 -1
  14. package/dist/contextual-ask-browser.d.cts +1 -1
  15. package/dist/contextual-ask-browser.d.ts +1 -1
  16. package/dist/contextual-ask-browser.js +1 -1
  17. package/dist/contextual-ask-node.cjs +28 -2
  18. package/dist/contextual-ask-node.cjs.map +1 -1
  19. package/dist/contextual-ask-node.d.cts +3 -3
  20. package/dist/contextual-ask-node.d.ts +3 -3
  21. package/dist/contextual-ask-node.js +3 -3
  22. package/dist/external-agent-node.cjs +26 -0
  23. package/dist/external-agent-node.cjs.map +1 -1
  24. package/dist/external-agent-node.d.cts +32 -2
  25. package/dist/external-agent-node.d.ts +32 -2
  26. package/dist/external-agent-node.js +2 -2
  27. package/dist/{external-handoff-5zHu-fz2.d.ts → external-handoff-BaPiKnYG.d.ts} +31 -1
  28. package/dist/{external-handoff-DeiIvR-2.d.cts → external-handoff-ByHmcwWv.d.cts} +31 -1
  29. package/dist/external-handoff-browser.d.cts +2 -2
  30. package/dist/external-handoff-browser.d.ts +2 -2
  31. package/dist/index.cjs +38 -2
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.cts +49 -4
  34. package/dist/index.d.ts +49 -4
  35. package/dist/index.js +12 -4
  36. package/dist/index.js.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/chunk-CLQ6MIJB.js.map +0 -1
  39. package/dist/chunk-EWJTKNL4.js.map +0 -1
  40. package/dist/chunk-R6QJFNT2.js.map +0 -1
  41. /package/dist/{chunk-JTZFOTPT.js.map → chunk-7777QFBJ.js.map} +0 -0
package/dist/index.cjs CHANGED
@@ -55,6 +55,9 @@ __export(index_exports, {
55
55
  DEFAULT_AGENT_LIMITS: () => DEFAULT_AGENT_LIMITS,
56
56
  DEFAULT_DATA_FLOW_LIMITS: () => DEFAULT_DATA_FLOW_LIMITS,
57
57
  DEFAULT_RUNTIME_DATA_FLOW_LIMITS: () => DEFAULT_RUNTIME_DATA_FLOW_LIMITS,
58
+ ELEMENT_INSTANCE_HINT_ATTRIBUTE: () => ELEMENT_INSTANCE_HINT_ATTRIBUTE,
59
+ ELEMENT_INSTANCE_LIMITS: () => ELEMENT_INSTANCE_LIMITS,
60
+ ELEMENT_INSTANCE_STATES: () => ELEMENT_INSTANCE_STATES,
58
61
  ERROR_CODES: () => ERROR_CODES,
59
62
  ERROR_CODE_VALUES: () => ERROR_CODE_VALUES,
60
63
  EXTERNAL_AGENT_ACTIONS: () => EXTERNAL_AGENT_ACTIONS,
@@ -82,6 +85,7 @@ __export(index_exports, {
82
85
  EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES: () => EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES,
83
86
  EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION: () => EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION,
84
87
  EXTERNAL_HANDOFF_STATES: () => EXTERNAL_HANDOFF_STATES,
88
+ INSTANCE_SELECTION_INSTRUCTIONS: () => INSTANCE_SELECTION_INSTRUCTIONS,
85
89
  MAX_ANNOTATION_INSTRUCTION_CHARACTERS: () => MAX_ANNOTATION_INSTRUCTION_CHARACTERS,
86
90
  MAX_ANNOTATION_TARGETS: () => MAX_ANNOTATION_TARGETS,
87
91
  MAX_TARGET_INSTRUCTION_CHARACTERS: () => MAX_TARGET_INSTRUCTION_CHARACTERS,
@@ -353,6 +357,24 @@ var SPOTPATCH_LOCALE_PREFERENCES = Object.freeze([
353
357
  ...SPOTPATCH_LOCALES
354
358
  ]);
355
359
 
360
+ // src/model/element-instance.ts
361
+ var ELEMENT_INSTANCE_LIMITS = Object.freeze({
362
+ idCharacters: 128,
363
+ contextCharacters: 1200,
364
+ labelCharacters: 160,
365
+ selectorCharacters: 2048,
366
+ ancestorDepth: 8,
367
+ locatorDepth: 32
368
+ });
369
+ var ELEMENT_INSTANCE_STATES = [
370
+ "captured",
371
+ "changed",
372
+ "detached",
373
+ "restored"
374
+ ];
375
+ var ELEMENT_INSTANCE_HINT_ATTRIBUTE = "data-spotpatch-instance";
376
+ var INSTANCE_SELECTION_INSTRUCTIONS = "Selected targets can be different rendered instances of the same source. Preserve each target and its instruction even when source locations match. Instance IDs identify captures, not business records. Selectors are capture-time evidence, never stable record IDs. Nearby DOM context is not a proven component boundary. Changed, detached, or restored instances are historical snapshots; verify their identity before changing code. Follow the requested scope: a selected instance does not by itself authorize changes to every instance or imply instance-only changes. For an instance-only request, establish the corresponding record/condition and check the shared component's impact; if evidence is insufficient, explain what is missing rather than guessing.";
377
+
356
378
  // src/model/contextual-ask.ts
357
379
  var import_zod2 = require("zod");
358
380
 
@@ -393,7 +415,8 @@ var CONTEXTUAL_ASK_LIMITS = Object.freeze({
393
415
  });
394
416
  var CONTEXTUAL_ASK_EXECUTOR_KINDS = Object.freeze([
395
417
  "configured-key",
396
- "managed-codex"
418
+ "managed-codex",
419
+ "claude-code"
397
420
  ]);
398
421
  var CONTEXTUAL_ASK_EXECUTOR_STATES = Object.freeze([
399
422
  "ready",
@@ -435,6 +458,13 @@ var CONTEXTUAL_ASK_PERMISSION_PROFILE = "spotpatch-ask-readonly";
435
458
  // src/model/context-schema.ts
436
459
  var import_zod = require("zod");
437
460
  var boundedString = (maximum) => import_zod.z.string().max(maximum);
461
+ var elementInstanceContextSchema = import_zod.z.strictObject({
462
+ id: import_zod.z.string().min(1).max(ELEMENT_INSTANCE_LIMITS.idCharacters).regex(/^[A-Za-z0-9_-]+$/u),
463
+ state: import_zod.z.enum(ELEMENT_INSTANCE_STATES),
464
+ selectorStatus: import_zod.z.enum(["unique-at-capture", "unavailable"]),
465
+ label: boundedString(ELEMENT_INSTANCE_LIMITS.labelCharacters),
466
+ context: boundedString(ELEMENT_INSTANCE_LIMITS.contextCharacters)
467
+ });
438
468
  var sourceRefSchema = import_zod.z.strictObject({
439
469
  fileId: boundedString(128).optional(),
440
470
  relativePath: boundedString(1024).optional(),
@@ -479,6 +509,7 @@ var spotTargetContextSchema = import_zod.z.strictObject({
479
509
  source: sourceRefSchema.optional()
480
510
  }),
481
511
  element: import_zod.z.strictObject({
512
+ instance: elementInstanceContextSchema.optional(),
482
513
  tagName: boundedString(128),
483
514
  selector: boundedString(2048),
484
515
  sanitizedHtml: boundedString(8192),
@@ -541,7 +572,8 @@ var contextualAskExecutorPreferenceSchema = import_zod2.z.discriminatedUnion("ki
541
572
  providerProfileId: profileIdSchema,
542
573
  modelProfileId: profileIdSchema
543
574
  }),
544
- import_zod2.z.strictObject({ kind: import_zod2.z.literal("managed-codex") })
575
+ import_zod2.z.strictObject({ kind: import_zod2.z.literal("managed-codex") }),
576
+ import_zod2.z.strictObject({ kind: import_zod2.z.literal("claude-code") })
545
577
  ]);
546
578
  var contextualAskOptionsSchema = import_zod2.z.union([
547
579
  import_zod2.z.boolean(),
@@ -2402,6 +2434,9 @@ var SPOTPATCH_REPOSITORY_URL = "https://github.com/huanglvjing/spotpatch";
2402
2434
  DEFAULT_AGENT_LIMITS,
2403
2435
  DEFAULT_DATA_FLOW_LIMITS,
2404
2436
  DEFAULT_RUNTIME_DATA_FLOW_LIMITS,
2437
+ ELEMENT_INSTANCE_HINT_ATTRIBUTE,
2438
+ ELEMENT_INSTANCE_LIMITS,
2439
+ ELEMENT_INSTANCE_STATES,
2405
2440
  ERROR_CODES,
2406
2441
  ERROR_CODE_VALUES,
2407
2442
  EXTERNAL_AGENT_ACTIONS,
@@ -2429,6 +2464,7 @@ var SPOTPATCH_REPOSITORY_URL = "https://github.com/huanglvjing/spotpatch";
2429
2464
  EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES,
2430
2465
  EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION,
2431
2466
  EXTERNAL_HANDOFF_STATES,
2467
+ INSTANCE_SELECTION_INSTRUCTIONS,
2432
2468
  MAX_ANNOTATION_INSTRUCTION_CHARACTERS,
2433
2469
  MAX_ANNOTATION_TARGETS,
2434
2470
  MAX_TARGET_INSTRUCTION_CHARACTERS,