agim-cli 1.2.42 → 1.2.43

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.
@@ -55,13 +55,45 @@ export interface ViewerConfig {
55
55
  /** Char / line / code-block thresholds for routing to web. */
56
56
  thresholds: ViewerThresholds;
57
57
  }
58
+ /**
59
+ * v1.2.43 — community-hosted default paste server.
60
+ *
61
+ * Operators who don't have a domain or working tunnel still get usable
62
+ * viewer links out of the box by routing through this public service.
63
+ * Users can:
64
+ * - Override by setting their own IMHUB_VIEWER_REMOTE_PASTE_URL
65
+ * - Opt back into a local-only path by setting IMHUB_VIEWER_PUBLIC_BASE_URL
66
+ * - Disable the default entirely with IMHUB_VIEWER_NO_DEFAULT_REMOTE=1
67
+ *
68
+ * IMPORTANT — privacy: with the default on, any markdown long enough
69
+ * to exit the inline path is uploaded to viewer.iclaw.host over HTTPS.
70
+ * agim's CLI wizard surfaces this trade-off on first run; deployment
71
+ * docs (`docs/viewer-modes.md`) cover it too.
72
+ */
73
+ export declare const DEFAULT_REMOTE_PASTE_URL = "https://viewer.iclaw.host/paste";
58
74
  export declare function getViewerConfig(): ViewerConfig;
59
75
  /**
60
- * v1.2.42 — pick the active viewer mode. First non-empty source wins.
61
- * Exported (and pure) so tests + the wizard show the same answer the
62
- * sink uses at runtime.
76
+ * v1.2.42 / v1.2.43 — pick the active viewer mode. First non-empty
77
+ * configured source wins; the community default remote is the final
78
+ * fallback so an out-of-the-box install still produces working links.
79
+ *
80
+ * Order:
81
+ * 1. user-set IMHUB_VIEWER_REMOTE_PASTE_URL → remote (operator-managed)
82
+ * 2. user-set IMHUB_VIEWER_PUBLIC_BASE_URL → local (own domain)
83
+ * 3. IMHUB_VIEWER_TUNNEL_MODE=quick → tunnel
84
+ * 4. community default viewer.iclaw.host → remote (default-on)
85
+ * 5. nothing → none (inline degrade)
86
+ *
87
+ * Set IMHUB_VIEWER_NO_DEFAULT_REMOTE=1 to skip step 4 (privacy opt-out).
63
88
  */
64
89
  export declare function resolveViewerMode(cfg?: ViewerConfig): ViewerMode;
90
+ /**
91
+ * Resolve the effective remote paste URL the sink should POST to.
92
+ * Honours user-set value first, then the community default unless
93
+ * the operator opted out via IMHUB_VIEWER_NO_DEFAULT_REMOTE=1.
94
+ * Returns null when no usable URL is available.
95
+ */
96
+ export declare function getEffectiveRemotePasteUrl(cfg?: ViewerConfig): string | null;
65
97
  /**
66
98
  * Resolve the effective public base URL. Order of preference:
67
99
  * 1. Explicit IMHUB_VIEWER_PUBLIC_BASE_URL (operator-managed reverse proxy)
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-config.d.ts","sourceRoot":"","sources":["../../src/core/viewer-config.ts"],"names":[],"mappings":"AAMA,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAG9E,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,CAAA;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE/D,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,UAAU,EAAE,gBAAgB,CAAA;IAC5B;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,UAAU,EAAE,gBAAgB,CAAA;CAC7B;AAQD,wBAAgB,eAAe,IAAI,YAAY,CAoB9C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,YAAgC,GAAG,UAAU,CAMnF;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAQnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIjF"}
1
+ {"version":3,"file":"viewer-config.d.ts","sourceRoot":"","sources":["../../src/core/viewer-config.ts"],"names":[],"mappings":"AAMA,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAG9E,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,CAAA;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE/D,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,UAAU,EAAE,gBAAgB,CAAA;IAC5B;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,UAAU,EAAE,gBAAgB,CAAA;CAC7B;AAQD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,oCAAoC,CAAA;AAEzE,wBAAgB,eAAe,IAAI,YAAY,CAoB9C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,YAAgC,GAAG,UAAU,CAOnF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,YAAgC,GAAG,MAAM,GAAG,IAAI,CAI/F;AAOD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAQnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIjF"}
@@ -11,6 +11,22 @@ function parsePositiveInt(raw, fallback) {
11
11
  const n = parseInt(raw, 10);
12
12
  return Number.isFinite(n) && n > 0 ? n : fallback;
13
13
  }
14
+ /**
15
+ * v1.2.43 — community-hosted default paste server.
16
+ *
17
+ * Operators who don't have a domain or working tunnel still get usable
18
+ * viewer links out of the box by routing through this public service.
19
+ * Users can:
20
+ * - Override by setting their own IMHUB_VIEWER_REMOTE_PASTE_URL
21
+ * - Opt back into a local-only path by setting IMHUB_VIEWER_PUBLIC_BASE_URL
22
+ * - Disable the default entirely with IMHUB_VIEWER_NO_DEFAULT_REMOTE=1
23
+ *
24
+ * IMPORTANT — privacy: with the default on, any markdown long enough
25
+ * to exit the inline path is uploaded to viewer.iclaw.host over HTTPS.
26
+ * agim's CLI wizard surfaces this trade-off on first run; deployment
27
+ * docs (`docs/viewer-modes.md`) cover it too.
28
+ */
29
+ export const DEFAULT_REMOTE_PASTE_URL = 'https://viewer.iclaw.host/paste';
14
30
  export function getViewerConfig() {
15
31
  const enabledRaw = (process.env.IMHUB_VIEWER_ENABLED || '').toLowerCase();
16
32
  const enabled = enabledRaw === '1' || enabledRaw === 'true' || enabledRaw === 'yes';
@@ -33,9 +49,18 @@ export function getViewerConfig() {
33
49
  };
34
50
  }
35
51
  /**
36
- * v1.2.42 — pick the active viewer mode. First non-empty source wins.
37
- * Exported (and pure) so tests + the wizard show the same answer the
38
- * sink uses at runtime.
52
+ * v1.2.42 / v1.2.43 — pick the active viewer mode. First non-empty
53
+ * configured source wins; the community default remote is the final
54
+ * fallback so an out-of-the-box install still produces working links.
55
+ *
56
+ * Order:
57
+ * 1. user-set IMHUB_VIEWER_REMOTE_PASTE_URL → remote (operator-managed)
58
+ * 2. user-set IMHUB_VIEWER_PUBLIC_BASE_URL → local (own domain)
59
+ * 3. IMHUB_VIEWER_TUNNEL_MODE=quick → tunnel
60
+ * 4. community default viewer.iclaw.host → remote (default-on)
61
+ * 5. nothing → none (inline degrade)
62
+ *
63
+ * Set IMHUB_VIEWER_NO_DEFAULT_REMOTE=1 to skip step 4 (privacy opt-out).
39
64
  */
40
65
  export function resolveViewerMode(cfg = getViewerConfig()) {
41
66
  if (!cfg.enabled)
@@ -46,8 +71,27 @@ export function resolveViewerMode(cfg = getViewerConfig()) {
46
71
  return 'local';
47
72
  if (cfg.tunnelMode === 'quick')
48
73
  return 'tunnel';
74
+ if (!isDefaultRemoteDisabled())
75
+ return 'remote'; // community default
49
76
  return 'none';
50
77
  }
78
+ /**
79
+ * Resolve the effective remote paste URL the sink should POST to.
80
+ * Honours user-set value first, then the community default unless
81
+ * the operator opted out via IMHUB_VIEWER_NO_DEFAULT_REMOTE=1.
82
+ * Returns null when no usable URL is available.
83
+ */
84
+ export function getEffectiveRemotePasteUrl(cfg = getViewerConfig()) {
85
+ if (cfg.remotePasteUrl)
86
+ return cfg.remotePasteUrl;
87
+ if (!isDefaultRemoteDisabled())
88
+ return DEFAULT_REMOTE_PASTE_URL;
89
+ return null;
90
+ }
91
+ function isDefaultRemoteDisabled() {
92
+ const v = (process.env.IMHUB_VIEWER_NO_DEFAULT_REMOTE || '').toLowerCase();
93
+ return v === '1' || v === 'true' || v === 'yes';
94
+ }
51
95
  /**
52
96
  * Resolve the effective public base URL. Order of preference:
53
97
  * 1. Explicit IMHUB_VIEWER_PUBLIC_BASE_URL (operator-managed reverse proxy)
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-config.js","sourceRoot":"","sources":["../../src/core/viewer-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewer-config.js","sourceRoot":"","sources":["../../src/core/viewer-config.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,0EAA0E;AAE1E,OAAO,EAAE,kBAAkB,EAAyB,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AA6DjD,SAAS,gBAAgB,CAAC,GAAuB,EAAE,QAAgB;IACjE,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAA;IACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,iCAAiC,CAAA;AAEzE,MAAM,UAAU,eAAe;IAC7B,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACzE,MAAM,OAAO,GAAG,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,CAAA;IACnF,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACzF,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACnF,MAAM,UAAU,GAAqB,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;IAChF,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC3F,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAA;IAC1E,OAAO;QACL,OAAO;QACP,aAAa;QACb,UAAU;QACV,cAAc;QACd,gBAAgB;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACjF,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACjF,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,SAAS,CAAC;SAC/F;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAoB,eAAe,EAAE;IACrE,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,OAAO,MAAM,CAAA;IAC/B,IAAI,GAAG,CAAC,cAAc;QAAE,OAAO,QAAQ,CAAA;IACvC,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO,OAAO,CAAA;IACrC,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAA;IAC/C,IAAI,CAAC,uBAAuB,EAAE;QAAE,OAAO,QAAQ,CAAA,CAAE,oBAAoB;IACrE,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAoB,eAAe,EAAE;IAC9E,IAAI,GAAG,CAAC,cAAc;QAAE,OAAO,GAAG,CAAC,cAAc,CAAA;IACjD,IAAI,CAAC,uBAAuB,EAAE;QAAE,OAAO,wBAAwB,CAAA;IAC/D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IAC1E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,CAAA;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAiB;IACzD,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;IAC7B,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO,GAAG,CAAC,aAAa,CAAA;IAC/C,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAA;QAChC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAA;IACnB,CAAC;IACD,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,eAAwB;IAChE,MAAM,IAAI,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAA;IACvD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAA;AAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-remote.d.ts","sourceRoot":"","sources":["../../src/core/viewer-remote.ts"],"names":[],"mappings":"AA6CA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoElF"}
1
+ {"version":3,"file":"viewer-remote.d.ts","sourceRoot":"","sources":["../../src/core/viewer-remote.ts"],"names":[],"mappings":"AA6CA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqElF"}
@@ -35,7 +35,7 @@
35
35
  //
36
36
  // Anything else → return null; the sink degrades to inline summary.
37
37
  import { logger as rootLogger } from './logger.js';
38
- import { getViewerConfig } from './viewer-config.js';
38
+ import { getViewerConfig, getEffectiveRemotePasteUrl } from './viewer-config.js';
39
39
  const log = rootLogger.child({ component: 'viewer-remote' });
40
40
  const POST_TIMEOUT_MS = 10_000;
41
41
  const MAX_UPLOAD_BYTES = 1_000_000; // 1 MB. Bigger than this, degrade.
@@ -54,7 +54,8 @@ const MAX_UPLOAD_BYTES = 1_000_000; // 1 MB. Bigger than this, degrade.
54
54
  */
55
55
  export async function postPasteRemote(opts) {
56
56
  const cfg = getViewerConfig();
57
- if (!cfg.remotePasteUrl)
57
+ const endpoint = getEffectiveRemotePasteUrl(cfg);
58
+ if (!endpoint)
58
59
  return null;
59
60
  const bytes = Buffer.byteLength(opts.content, 'utf-8');
60
61
  if (bytes > MAX_UPLOAD_BYTES) {
@@ -69,7 +70,7 @@ export async function postPasteRemote(opts) {
69
70
  const timer = setTimeout(() => ac.abort(), POST_TIMEOUT_MS);
70
71
  let res;
71
72
  try {
72
- res = await fetch(cfg.remotePasteUrl, {
73
+ res = await fetch(endpoint, {
73
74
  method: 'POST',
74
75
  headers: {
75
76
  'Content-Type': 'application/json',
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-remote.js","sourceRoot":"","sources":["../../src/core/viewer-remote.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,EAAE;AACF,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,gCAAgC;AAChC,EAAE;AACF,uBAAuB;AACvB,uBAAuB;AACvB,qEAAqE;AACrE,kEAAkE;AAClE,kEAAkE;AAClE,8DAA8D;AAC9D,mEAAmE;AACnE,kBAAkB;AAClB,EAAE;AACF,oBAAoB;AACpB,oBAAoB;AACpB,qEAAqE;AACrE,qEAAqE;AACrE,6CAA6C;AAC7C,EAAE;AACF,gBAAgB;AAChB,gBAAgB;AAChB,WAAW;AACX,yCAAyC;AACzC,mCAAmC;AACnC,kEAAkE;AAClE,+DAA+D;AAC/D,kEAAkE;AAClE,YAAY;AACZ,EAAE;AACF,kBAAkB;AAClB,8CAA8C;AAC9C,EAAE;AACF,oEAAoE;AAEpE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAA;AAE5D,MAAM,eAAe,GAAG,MAAM,CAAA;AAC9B,MAAM,gBAAgB,GAAG,SAAS,CAAA,CAAE,mCAAmC;AASvE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAoB;IACxD,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;IAC7B,IAAI,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,IAAI,CAAA;IAEpC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACtD,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,yBAAyB;YAChC,KAAK,EAAE,GAAG,EAAE,gBAAgB;SAC7B,EAAE,0DAA0D,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAA;QAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC,CAAA;QAC3D,IAAI,GAAa,CAAA;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE;gBACpC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,wBAAwB;oBACtC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrF;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC;gBACF,MAAM,EAAE,EAAE,CAAC,MAAM;aAClB,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,0BAA0B;gBACjC,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,EAAE,sCAAsC,CAAC,CAAA;YAC1C,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,IAAsB,CAAA;QAC1B,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAsB,CAAA;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,wBAAwB;gBAC/B,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACtD,EAAE,oCAAoC,CAAC,CAAA;YACxC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,2BAA2B;gBAClC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aAChD,EAAE,+CAA+C,CAAC,CAAA;YACnD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAClE,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,sBAAsB;YAC7B,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACtD,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"viewer-remote.js","sourceRoot":"","sources":["../../src/core/viewer-remote.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agim-cli",
3
- "version": "1.2.42",
3
+ "version": "1.2.43",
4
4
  "description": "Agim (阿吉姆) — universal messenger-to-agent bridge. Connect WeChat / Feishu / DingTalk / Email to Claude Code / Codex / OpenCode, or any custom agent via ACP. Installs the `agim` command.",
5
5
  "type": "module",
6
6
  "bin": {