@spotpatch/runtime 1.14.0 → 1.15.1

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 (37) hide show
  1. package/dist/{chunk-2WA6XVA4.js → chunk-DCN6OMLH.js} +13 -3
  2. package/dist/{chunk-2WA6XVA4.js.map → chunk-DCN6OMLH.js.map} +1 -1
  3. package/dist/{chunk-KIDHJQRG.js → chunk-PXJKFEUJ.js} +1 -1
  4. package/dist/chunk-PXJKFEUJ.js.map +1 -0
  5. package/dist/contextual-ask-panel.cjs +217 -127
  6. package/dist/contextual-ask-panel.cjs.map +1 -1
  7. package/dist/contextual-ask-panel.d.cts +2 -0
  8. package/dist/contextual-ask-panel.d.ts +2 -0
  9. package/dist/contextual-ask-panel.js +219 -128
  10. package/dist/contextual-ask-panel.js.map +1 -1
  11. package/dist/data-flow-panel.cjs +12 -2
  12. package/dist/data-flow-panel.cjs.map +1 -1
  13. package/dist/data-flow-panel.d.cts +1 -1
  14. package/dist/data-flow-panel.d.ts +1 -1
  15. package/dist/data-flow-panel.js +7 -1
  16. package/dist/data-flow-panel.js.map +1 -1
  17. package/dist/{data-flow-runtime-DMmV0d3E.d.cts → data-flow-runtime-CacBbxN0.d.cts} +2 -1
  18. package/dist/{data-flow-runtime-DMmV0d3E.d.ts → data-flow-runtime-CacBbxN0.d.ts} +2 -1
  19. package/dist/data-flow.cjs +13 -2
  20. package/dist/data-flow.cjs.map +1 -1
  21. package/dist/data-flow.d.cts +1 -1
  22. package/dist/data-flow.d.ts +1 -1
  23. package/dist/data-flow.js +3 -1
  24. package/dist/external-handoff-panel.cjs +22 -6
  25. package/dist/external-handoff-panel.cjs.map +1 -1
  26. package/dist/external-handoff-panel.d.cts +5 -2
  27. package/dist/external-handoff-panel.d.ts +5 -2
  28. package/dist/external-handoff-panel.js +21 -6
  29. package/dist/external-handoff-panel.js.map +1 -1
  30. package/dist/index.cjs +15 -6
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.d.cts +5 -5
  33. package/dist/index.d.ts +5 -5
  34. package/dist/index.js +11 -6
  35. package/dist/index.js.map +1 -1
  36. package/package.json +2 -2
  37. package/dist/chunk-KIDHJQRG.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { ExternalHandoffFramework, SpotPatchLocale, DispatchSummary, ExternalAgentControlStatus, SpotAnnotation, ExternalHandoffCapability, ErrorCode, ExternalHandoffPublishResult, ExternalAgentManagedResult, ExternalHandoffStatusResult } from '@spotpatch/shared/external-handoff-browser';
2
+ import { SpotPatchRuntimeConfig } from '@spotpatch/shared';
2
3
 
3
4
  interface ExternalHandoffPanel {
4
5
  readonly cancelManagedButton: HTMLButtonElement;
@@ -39,6 +40,8 @@ declare function getExternalHandoffExtension(): ExternalHandoffExtension | undef
39
40
 
40
41
  declare function createExternalHandoffWorkflow(fetch: typeof globalThis.fetch, panel: ExternalHandoffPanel, selectedAnnotation: () => SpotAnnotation | undefined, sessionToken: string, window: Window): ExternalHandoffWorkflow;
41
42
 
42
- declare function createExternalHandoffPanel(document: Document, framework: "vite" | "next", locale: () => SpotPatchLocale, sessionId: string, subscribeLocale: (listener: () => void) => () => void, onViewChange: () => void, onDispatchChange?: (dispatch: DispatchSummary | null) => void, onControlChange?: (status: ExternalAgentControlStatus | undefined) => void): ExternalHandoffPanel;
43
+ declare function createExternalHandoffPanel(document: Document, framework: SpotPatchRuntimeConfig["framework"], locale: () => SpotPatchLocale, sessionId: string, subscribeLocale: (listener: () => void) => () => void, onViewChange: () => void, onDispatchChange?: (dispatch: DispatchSummary | null) => void, onControlChange?: (status: ExternalAgentControlStatus | undefined) => void): ExternalHandoffPanel;
43
44
 
44
- export { type ExternalHandoffExtension, type ExternalHandoffPanel, type ExternalHandoffWorkflow, createExternalHandoffPanel, createExternalHandoffWorkflow, getExternalHandoffExtension, registerExternalHandoffExtension };
45
+ declare function installExternalHandoffExtension(): void;
46
+
47
+ export { type ExternalHandoffExtension, type ExternalHandoffPanel, type ExternalHandoffWorkflow, createExternalHandoffPanel, createExternalHandoffWorkflow, getExternalHandoffExtension, installExternalHandoffExtension, registerExternalHandoffExtension };
@@ -1,4 +1,5 @@
1
1
  import { ExternalHandoffFramework, SpotPatchLocale, DispatchSummary, ExternalAgentControlStatus, SpotAnnotation, ExternalHandoffCapability, ErrorCode, ExternalHandoffPublishResult, ExternalAgentManagedResult, ExternalHandoffStatusResult } from '@spotpatch/shared/external-handoff-browser';
2
+ import { SpotPatchRuntimeConfig } from '@spotpatch/shared';
2
3
 
3
4
  interface ExternalHandoffPanel {
4
5
  readonly cancelManagedButton: HTMLButtonElement;
@@ -39,6 +40,8 @@ declare function getExternalHandoffExtension(): ExternalHandoffExtension | undef
39
40
 
40
41
  declare function createExternalHandoffWorkflow(fetch: typeof globalThis.fetch, panel: ExternalHandoffPanel, selectedAnnotation: () => SpotAnnotation | undefined, sessionToken: string, window: Window): ExternalHandoffWorkflow;
41
42
 
42
- declare function createExternalHandoffPanel(document: Document, framework: "vite" | "next", locale: () => SpotPatchLocale, sessionId: string, subscribeLocale: (listener: () => void) => () => void, onViewChange: () => void, onDispatchChange?: (dispatch: DispatchSummary | null) => void, onControlChange?: (status: ExternalAgentControlStatus | undefined) => void): ExternalHandoffPanel;
43
+ declare function createExternalHandoffPanel(document: Document, framework: SpotPatchRuntimeConfig["framework"], locale: () => SpotPatchLocale, sessionId: string, subscribeLocale: (listener: () => void) => () => void, onViewChange: () => void, onDispatchChange?: (dispatch: DispatchSummary | null) => void, onControlChange?: (status: ExternalAgentControlStatus | undefined) => void): ExternalHandoffPanel;
43
44
 
44
- export { type ExternalHandoffExtension, type ExternalHandoffPanel, type ExternalHandoffWorkflow, createExternalHandoffPanel, createExternalHandoffWorkflow, getExternalHandoffExtension, registerExternalHandoffExtension };
45
+ declare function installExternalHandoffExtension(): void;
46
+
47
+ export { type ExternalHandoffExtension, type ExternalHandoffPanel, type ExternalHandoffWorkflow, createExternalHandoffPanel, createExternalHandoffWorkflow, getExternalHandoffExtension, installExternalHandoffExtension, registerExternalHandoffExtension };
@@ -1013,7 +1013,7 @@ var MESSAGES = Object.freeze({
1013
1013
  resultTitle: "Managed result",
1014
1014
  controlConnection: (state, mode) => `Connection: ${state} \xB7 Mode: ${mode}`,
1015
1015
  controlAuth: (auth, grant) => `Auth: ${auth} \xB7 Grant: ${grant}`,
1016
- controlConsentRequired: 'Grant required: type "yes" in the terminal that started `pnpm dev`. If no prompt is visible, restart `pnpm dev` in an interactive terminal and connect again.',
1016
+ controlConsentRequired: (command) => `Initialize project access once: run \`${command}\` from this project, then connect again. No dev-terminal confirmation is required. The grant allows isolated snapshot writes and validated application; revoke it here at any time.`,
1017
1017
  controlModel: (model) => `Model: ${model}`,
1018
1018
  controlRevision: (task) => `Revision ${String(task.revision)}: ${task.deliveryStatus} / ${task.executionStatus} / ${task.managedPhase}`,
1019
1019
  controlValidation: (outcome) => `Validation: ${outcome}`,
@@ -1100,7 +1100,7 @@ var MESSAGES = Object.freeze({
1100
1100
  resultTitle: "\u53D7\u7BA1\u6267\u884C\u7ED3\u679C",
1101
1101
  controlConnection: (state, mode) => `\u8FDE\u63A5\uFF1A${state} \xB7 \u6A21\u5F0F\uFF1A${mode}`,
1102
1102
  controlAuth: (auth, grant) => `\u8BA4\u8BC1\uFF1A${auth} \xB7 \u6388\u6743\uFF1A${grant}`,
1103
- controlConsentRequired: "\u9700\u8981\u9879\u76EE\u6388\u6743\uFF1A\u8BF7\u5728\u542F\u52A8 `pnpm dev` \u7684\u7EC8\u7AEF\u8F93\u5165\u201Cyes\u201D\u3002\u82E5\u7EC8\u7AEF\u6CA1\u6709\u51FA\u73B0\u786E\u8BA4\u63D0\u793A\uFF0C\u8BF7\u5728\u53EF\u4EA4\u4E92\u7EC8\u7AEF\u91CD\u65B0\u542F\u52A8 `pnpm dev` \u540E\u518D\u8FDE\u63A5\u3002",
1103
+ controlConsentRequired: (command) => `\u8BF7\u5728\u5F53\u524D\u9879\u76EE\u6267\u884C\u4E00\u6B21\u521D\u59CB\u5316\uFF1A\`${command}\`\uFF0C\u7136\u540E\u91CD\u65B0\u8FDE\u63A5\uFF0C\u65E0\u9700\u5728\u5F00\u53D1\u7EC8\u7AEF\u8F93\u5165 yes\u3002\u6388\u6743\u5141\u8BB8\u9694\u79BB\u5FEB\u7167\u4FEE\u6539\u53CA\u6821\u9A8C\u540E\u7684\u5E94\u7528\uFF0C\u53EF\u968F\u65F6\u5728\u6B64\u64A4\u9500\u3002`,
1104
1104
  controlModel: (model) => `\u6A21\u578B\uFF1A${model}`,
1105
1105
  controlRevision: (task) => `revision ${String(task.revision)}\uFF1A${task.deliveryStatus} / ${task.executionStatus} / ${task.managedPhase}`,
1106
1106
  controlValidation: (outcome) => `\u9A8C\u8BC1\uFF1A${outcome}`,
@@ -1259,13 +1259,17 @@ function disclosurePaths(annotation) {
1259
1259
  )
1260
1260
  ]);
1261
1261
  }
1262
- function controlStatusText(value, messages) {
1262
+ function controlStatusText(value, messages, framework) {
1263
1263
  const model = value.effectiveModel ?? value.requestedModel;
1264
1264
  const task = value.task;
1265
1265
  const parts = [
1266
1266
  messages.controlConnection(value.connectionState, value.mode),
1267
1267
  messages.controlAuth(value.authReadiness, value.grantState),
1268
- ...value.connectionState === "awaiting-consent" && value.grantState === "missing" ? [messages.controlConsentRequired] : [],
1268
+ ...value.connectionState === "awaiting-consent" && value.grantState === "missing" ? [
1269
+ messages.controlConsentRequired(
1270
+ `pnpm exec spotpatch-${framework} bridge init`
1271
+ )
1272
+ ] : [],
1269
1273
  ...model === void 0 ? [] : [messages.controlModel(model)],
1270
1274
  ...task === void 0 ? [] : [
1271
1275
  messages.controlRevision(task),
@@ -1503,7 +1507,7 @@ function createExternalHandoffPanel(document, framework, locale, sessionId, subs
1503
1507
  cancelManagedButton.textContent = messages.cancelManaged;
1504
1508
  managedResultTitle.textContent = messages.resultTitle;
1505
1509
  if (control !== void 0) {
1506
- controlStatus.textContent = controlStatusText(control, messages);
1510
+ controlStatus.textContent = controlStatusText(control, messages, framework);
1507
1511
  disclosureNoGuarantee.textContent = control.mode === "managed" ? messages.disclosureManagedGuarantee : messages.disclosureNoGuarantee;
1508
1512
  }
1509
1513
  if (managedResultValue !== void 0) {
@@ -1625,7 +1629,7 @@ function createExternalHandoffPanel(document, framework, locale, sessionId, subs
1625
1629
  },
1626
1630
  renderControlStatus(value) {
1627
1631
  control = value;
1628
- controlStatus.textContent = controlStatusText(value, messages);
1632
+ controlStatus.textContent = controlStatusText(value, messages, framework);
1629
1633
  controlStatus.dataset.state = value.connectionState;
1630
1634
  disclosureNoGuarantee.textContent = value.mode === "managed" ? messages.disclosureManagedGuarantee : messages.disclosureNoGuarantee;
1631
1635
  refreshControlActions();
@@ -1687,10 +1691,21 @@ function createExternalHandoffPanel(document, framework, locale, sessionId, subs
1687
1691
  }
1688
1692
  });
1689
1693
  }
1694
+
1695
+ // src/external-handoff-panel-entry.ts
1696
+ function installExternalHandoffExtension() {
1697
+ registerExternalHandoffExtension(
1698
+ Object.freeze({
1699
+ createPanel: createExternalHandoffPanel,
1700
+ createWorkflow: createExternalHandoffWorkflow
1701
+ })
1702
+ );
1703
+ }
1690
1704
  export {
1691
1705
  createExternalHandoffPanel,
1692
1706
  createExternalHandoffWorkflow,
1693
1707
  getExternalHandoffExtension,
1708
+ installExternalHandoffExtension,
1694
1709
  registerExternalHandoffExtension
1695
1710
  };
1696
1711
  //# sourceMappingURL=external-handoff-panel.js.map