@bytespell/amux 0.0.18 → 0.0.20

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.
package/dist/types.d.ts CHANGED
@@ -1,67 +1,6 @@
1
- import type * as acp from '@agentclientprotocol/sdk';
2
1
  /**
3
- * Agent configuration - maps agent type to binary name
2
+ * Re-export all types from @bytespell/amux-types for backwards compatibility
4
3
  */
5
- export interface AgentConfig {
6
- name: string;
7
- /** The base CLI binary name (for checking if installed) */
8
- cli: string;
9
- /** The npm package name for the ACP wrapper */
10
- acpPackage: string;
11
- /** The binary name for the ACP wrapper (in node_modules/.bin) */
12
- acpBin: string;
13
- }
14
- /**
15
- * Built-in agent registry
16
- */
17
- export declare const AGENTS: Record<string, AgentConfig>;
18
- /**
19
- * Session metadata for persistence
20
- */
21
- export interface SessionMetadata {
22
- id: string;
23
- name: string;
24
- cwd: string;
25
- messageCount: number;
26
- lastModified: number;
27
- agentType: string;
28
- }
29
- /**
30
- * Persisted session state
31
- */
32
- export interface SessionState {
33
- cwd?: string;
34
- sessionId?: string | null;
35
- agentType?: string;
36
- }
37
- /**
38
- * Event stored in history for replay
39
- */
40
- export interface StoredEvent {
41
- type: string;
42
- update?: acp.SessionUpdate;
43
- [key: string]: unknown;
44
- }
45
- /**
46
- * Session restore info sent to UI
47
- */
48
- export interface SessionRestoreInfo {
49
- restored: boolean;
50
- reason?: string;
51
- }
52
- /**
53
- * Configuration for creating an agent session
54
- */
55
- export interface AgentSessionConfig {
56
- /** Unique identifier for this session instance */
57
- instanceId: string;
58
- /** Optional system context to inject (e.g., from a markdown file) */
59
- systemContext?: string;
60
- /** Optional fixed working directory (overrides user selection) */
61
- fixedCwd?: string;
62
- /** Optional initial agent type (defaults to 'claude-code') */
63
- agentType?: string;
64
- /** Optional state directory override */
65
- stateDir?: string;
66
- }
4
+ export type { AgentConfig, AgentInfo, ModelInfo, SessionMetadata, SessionState, StoredEvent, SessionRestoreInfo, AgentSessionConfig, ServerMessage, ClientMessage, MessageType, PermissionOption, PermissionRequest, } from '@bytespell/amux-types';
5
+ export { AGENTS } from '@bytespell/amux-types';
67
6
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAmB9C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IAEnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,eAAe,EACf,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/types.js CHANGED
@@ -1,24 +1,2 @@
1
- /**
2
- * Built-in agent registry
3
- */
4
- export const AGENTS = {
5
- 'claude-code': {
6
- name: 'Claude Code',
7
- cli: 'claude',
8
- acpPackage: '@zed-industries/claude-code-acp',
9
- acpBin: 'claude-code-acp',
10
- },
11
- 'codex': {
12
- name: 'Codex',
13
- cli: 'codex',
14
- acpPackage: '@zed-industries/codex-acp',
15
- acpBin: 'codex-acp',
16
- },
17
- 'pi': {
18
- name: 'Pi',
19
- cli: 'pi',
20
- acpPackage: 'pi-acp',
21
- acpBin: 'pi-acp',
22
- },
23
- };
1
+ export { AGENTS } from '@bytespell/amux-types';
24
2
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAgC;IACjD,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,QAAQ;QACb,UAAU,EAAE,iCAAiC;QAC7C,MAAM,EAAE,iBAAiB;KAC1B;IACD,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,OAAO;QACZ,UAAU,EAAE,2BAA2B;QACvC,MAAM,EAAE,WAAW;KACpB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,QAAQ;KACjB;CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytespell/amux",
3
- "version": "0.0.18",
3
+ "version": "0.0.20",
4
4
  "description": "ACP Multiplexer - the session layer for ACP agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,9 +16,7 @@
16
16
  "dev": "tsc --watch",
17
17
  "test": "vitest run",
18
18
  "test:watch": "vitest",
19
- "typecheck": "tsc --noEmit",
20
- "lint": "eslint src",
21
- "prepublishOnly": "npm run build"
19
+ "typecheck": "tsc --noEmit"
22
20
  },
23
21
  "keywords": [
24
22
  "acp",
@@ -32,6 +30,7 @@
32
30
  "license": "MIT",
33
31
  "dependencies": {
34
32
  "@agentclientprotocol/sdk": "^0.13.0",
33
+ "@bytespell/amux-types": "*",
35
34
  "@zed-industries/claude-code-acp": "^0.13.0",
36
35
  "@zed-industries/codex-acp": "^0.9.0",
37
36
  "npm-run-path": "^6.0.0",
package/src/types.ts CHANGED
@@ -1,96 +1,20 @@
1
- import type * as acp from '@agentclientprotocol/sdk';
2
-
3
- /**
4
- * Agent configuration - maps agent type to binary name
5
- */
6
- export interface AgentConfig {
7
- name: string;
8
- /** The base CLI binary name (for checking if installed) */
9
- cli: string;
10
- /** The npm package name for the ACP wrapper */
11
- acpPackage: string;
12
- /** The binary name for the ACP wrapper (in node_modules/.bin) */
13
- acpBin: string;
14
- }
15
-
16
- /**
17
- * Built-in agent registry
18
- */
19
- export const AGENTS: Record<string, AgentConfig> = {
20
- 'claude-code': {
21
- name: 'Claude Code',
22
- cli: 'claude',
23
- acpPackage: '@zed-industries/claude-code-acp',
24
- acpBin: 'claude-code-acp',
25
- },
26
- 'codex': {
27
- name: 'Codex',
28
- cli: 'codex',
29
- acpPackage: '@zed-industries/codex-acp',
30
- acpBin: 'codex-acp',
31
- },
32
- 'pi': {
33
- name: 'Pi',
34
- cli: 'pi',
35
- acpPackage: 'pi-acp',
36
- acpBin: 'pi-acp',
37
- },
38
- };
39
-
40
- /**
41
- * Session metadata for persistence
42
- */
43
- export interface SessionMetadata {
44
- id: string;
45
- name: string;
46
- cwd: string;
47
- messageCount: number;
48
- lastModified: number;
49
- agentType: string;
50
- }
51
-
52
1
  /**
53
- * Persisted session state
2
+ * Re-export all types from @bytespell/amux-types for backwards compatibility
54
3
  */
55
- export interface SessionState {
56
- cwd?: string;
57
- sessionId?: string | null;
58
- agentType?: string;
59
- }
60
-
61
- /**
62
- * Event stored in history for replay
63
- */
64
- export interface StoredEvent {
65
- type: string;
66
- update?: acp.SessionUpdate;
67
- [key: string]: unknown;
68
- }
69
-
70
- /**
71
- * Session restore info sent to UI
72
- */
73
- export interface SessionRestoreInfo {
74
- restored: boolean;
75
- reason?: string;
76
- }
77
-
78
- /**
79
- * Configuration for creating an agent session
80
- */
81
- export interface AgentSessionConfig {
82
- /** Unique identifier for this session instance */
83
- instanceId: string;
84
-
85
- /** Optional system context to inject (e.g., from a markdown file) */
86
- systemContext?: string;
87
-
88
- /** Optional fixed working directory (overrides user selection) */
89
- fixedCwd?: string;
90
-
91
- /** Optional initial agent type (defaults to 'claude-code') */
92
- agentType?: string;
93
-
94
- /** Optional state directory override */
95
- stateDir?: string;
96
- }
4
+ export type {
5
+ AgentConfig,
6
+ AgentInfo,
7
+ ModelInfo,
8
+ SessionMetadata,
9
+ SessionState,
10
+ StoredEvent,
11
+ SessionRestoreInfo,
12
+ AgentSessionConfig,
13
+ ServerMessage,
14
+ ClientMessage,
15
+ MessageType,
16
+ PermissionOption,
17
+ PermissionRequest,
18
+ } from '@bytespell/amux-types';
19
+
20
+ export { AGENTS } from '@bytespell/amux-types';
package/tsconfig.json CHANGED
@@ -1,22 +1,12 @@
1
1
  {
2
+ "extends": "../../tsconfig.base.json",
2
3
  "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "lib": ["ES2022"],
7
4
  "outDir": "dist",
8
- "rootDir": "src",
9
- "strict": true,
10
- "esModuleInterop": true,
11
- "skipLibCheck": true,
12
- "forceConsistentCasingInFileNames": true,
13
- "declaration": true,
14
- "declarationMap": true,
15
- "sourceMap": true,
16
- "noUncheckedIndexedAccess": true,
17
- "noUnusedLocals": true,
18
- "noUnusedParameters": true
5
+ "rootDir": "src"
19
6
  },
20
7
  "include": ["src/**/*"],
21
- "exclude": ["node_modules", "dist", "src/**/*.test.ts"]
8
+ "exclude": ["node_modules", "dist", "src/**/*.test.ts"],
9
+ "references": [
10
+ { "path": "../amux-types" }
11
+ ]
22
12
  }
@@ -0,0 +1 @@
1
+ {"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@agentclientprotocol/sdk/dist/schema/index.d.ts","../../node_modules/@agentclientprotocol/sdk/dist/schema/types.gen.d.ts","../../node_modules/@agentclientprotocol/sdk/dist/jsonrpc.d.ts","../../node_modules/@agentclientprotocol/sdk/dist/stream.d.ts","../../node_modules/@agentclientprotocol/sdk/dist/acp.d.ts","./src/session-updates.ts","./src/terminal.ts","../amux-types/dist/agents.d.ts","../amux-types/dist/session.d.ts","../amux-types/dist/events.d.ts","../amux-types/dist/index.d.ts","./src/types.ts","./src/client.ts","./src/state.ts","./src/message-parser.ts","./src/session.ts","../../node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/@types/node/web-globals/events.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/inspector.generated.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/ws/index.d.mts","./src/ws-adapter.ts","./src/index.ts","../../node_modules/@types/deep-eql/index.d.ts","../../node_modules/assertion-error/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@types/ws/index.d.ts"],"fileIdsList":[[58,59,60,61,79,127,144,145],[79,127,144,145],[60,79,127,144,145],[79,127,144,145,181,182],[79,124,125,127,144,145],[79,126,127,144,145],[127,144,145],[79,127,132,144,145,162],[79,127,128,133,138,144,145,147,159,170],[79,127,128,129,138,144,145,147],[74,75,76,79,127,144,145],[79,127,130,144,145,171],[79,127,131,132,139,144,145,148],[79,127,132,144,145,159,167],[79,127,133,135,138,144,145,147],[79,126,127,134,144,145],[79,127,135,136,144,145],[79,127,137,138,144,145],[79,126,127,138,144,145],[79,127,138,139,140,144,145,159,170],[79,127,138,139,140,144,145,154,159,162],[79,120,127,135,138,141,144,145,147,159,170],[79,127,138,139,141,142,144,145,147,159,167,170],[79,127,141,143,144,145,159,167,170],[77,78,79,80,81,82,83,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176],[79,127,138,144,145],[79,127,144,145,146,170],[79,127,135,138,144,145,147,159],[79,127,144,145,148],[79,127,144,145,149],[79,126,127,144,145,150],[79,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176],[79,127,144,145,152],[79,127,144,145,153],[79,127,138,144,145,154,155],[79,127,144,145,154,156,171,173],[79,127,139,144,145],[79,127,138,144,145,159,160,162],[79,127,144,145,161,162],[79,127,144,145,159,160],[79,127,144,145,162],[79,127,144,145,163],[79,124,127,144,145,159,164],[79,127,138,144,145,165,166],[79,127,144,145,165,166],[79,127,132,144,145,147,159,167],[79,127,144,145,168],[79,127,144,145,147,169],[79,127,141,144,145,153,170],[79,127,132,144,145,171],[79,127,144,145,159,172],[79,127,144,145,146,173],[79,127,144,145,174],[79,120,127,144,145],[79,120,127,138,140,144,145,150,159,162,170,172,173,175],[79,127,144,145,159,176],[79,127,144,145,185,186,187],[79,127,138,141,143,144,145,147,159,167,170,176,177],[79,92,96,127,144,145,170],[79,92,127,144,145,159,170],[79,87,127,144,145],[79,89,92,127,144,145,167,170],[79,127,144,145,147,167],[79,127,144,145,177],[79,87,127,144,145,177],[79,89,92,127,144,145,147,170],[79,84,85,88,91,127,138,144,145,159,170],[79,92,99,127,144,145],[79,84,90,127,144,145],[79,92,113,114,127,144,145],[79,88,92,127,144,145,162,170,177],[79,113,127,144,145,177],[79,86,87,127,144,145,177],[79,92,127,144,145],[79,86,87,88,89,90,91,92,93,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,114,115,116,117,118,119,127,144,145],[79,92,107,127,144,145],[79,92,99,100,127,144,145],[79,90,92,100,101,127,144,145],[79,91,127,144,145],[79,84,87,92,127,144,145],[79,92,96,100,101,127,144,145],[79,96,127,144,145],[79,90,92,95,127,144,145,170],[79,84,89,92,99,127,144,145],[79,127,144,145,159],[79,87,92,113,127,144,145,175,177],[62,65,66,79,127,144,145],[62,65,66,67,79,127,144,145],[62,79,127,144,145],[62,63,64,69,79,127,132,139,144,145],[63,64,69,70,71,72,73,79,127,144,145,179],[62,79,127,144,145,149],[62,64,69,70,71,72,79,127,128,138,144,145,146,148,149,159],[69,79,127,139,144,145,148,149],[62,79,127,128,132,144,145],[68,79,127,144,145],[73,79,127,144,145,178]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b26372f03587939f01aed460310c084c5a4af64f8d84fdaca6e817e4ec2ed83","impliedFormat":99},{"version":"457e09620887639f9cc4562e220cb4fa6148efd3def6bb730a53fcbf6c32009e","impliedFormat":99},{"version":"278c1c10bc136a0baef11111ff6e3d169f3c570acd0915713d664232420d524a","impliedFormat":99},{"version":"5770f07f5bb65fe067e22769a8935ea055dbf8aa90ac6c715b5715ecb12a7686","impliedFormat":99},{"version":"d071adebcf78aa180e0d4d78e4df82d9f369d0680b73081b661164b79106e01b","impliedFormat":99},{"version":"ef676474910e1ea5366f9a391aef6026b7fff89c5018885f7e7fb78ac22ae937","signature":"d48392653b684827ea58e0beacee0bb04c9bf4da3745df85cea037b5ca841bdd","impliedFormat":99},{"version":"06a345c283e7db44e3da183e93dcaeead2ac1d5f6899d805949d1ca795b8d8e3","signature":"e9efd9f3fd0764d546abd5d1c3e2ac320376e52ff2f5f6b346ac4c304c08450f","impliedFormat":99},{"version":"c107e04899784707d0d3012069ee067a03a4a3a063344c4511bde871d0250e1e","impliedFormat":99},{"version":"9b4dbd51b2226a49534d50f241e9440937e0bf106c0f6e36c67067f2ead2338f","impliedFormat":99},{"version":"ef966dbc00876b9ff792577efbdb1a2d2ed57c1d9ed44abd4af924b8dbb28f55","impliedFormat":99},{"version":"dcd3ec66cad92e7d857c2d2ca5d06cc3b28e50d3e7f1b763ed8897806eeab0ad","impliedFormat":99},{"version":"01c46378ae4093f667faecf48218abb74c524bd8830365a29264c5eea8e54efc","signature":"74c13c526aefe1a5e7df0e9ba39f4cd63cd37050745c6484c07c7cabc49d444e","impliedFormat":99},{"version":"7f62c9658a80e74a6798b5205c538e14fa6d6cee26cdab3dd9fb7839a3dd7408","signature":"d840ad571f7e180823f1b8003a564c2b65a358558210b9a1fc98d87129550f00","impliedFormat":99},{"version":"eb6c33a30b7d63f72d48da350f02a1753cdaa90ae869b5849d14f9e792dc21e8","signature":"295aeda76a7a0a46a1e470a88d5d43997732eb6052a626f55a857b7fe6cfc183","impliedFormat":99},{"version":"1991179ed7db518363004d40207ef877c4d46b2578c74e5dd502e2c7eac866ac","signature":"4b50e871b24fae747f2e3bbd63822460183b40456ccf9d84d31dd54eb9185fa1","impliedFormat":99},{"version":"fdc742839d0ef3c13de24f31e57636eba2d6ebcf2cf7fe14f2d952749417bb08","signature":"cace301215fe8cbcfab5e796550cf392109f60c008b0eb2cf5bd1407808a4ea7","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"bb45cd435da536500f1d9692a9b49d0c570b763ccbf00473248b777f5c1f353b","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2bc7425ef40526650d6db7e072c1ff4a51101c3ac2cc4b666623b19496a6e27","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c959a391a75be9789b43c8468f71e3fa06488b4d691d5729dde1416dcd38225b","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"0dba70b3fb0dcd713fda33c2df64fa6751fff6460e536971cee917260fb17882","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"316f1486e15cbf7896425f0a16dfe12d447dd57cfb3244b8b119c77df870858f","impliedFormat":99},{"version":"b41a3f0cef84ba37022dc9d313bcb844c94bb77497170984ee2ad884b9f859d1","signature":"8bd76935e56f70f748513a5074cbf6d49f4ff151e4cc9b530ed4fbe9686bd951","impliedFormat":99},{"version":"d3aa4e309eed035be6188c5f6ee2465b647602bdedb1e69e6e673d4e2dd4350f","signature":"48aa11be38d5bc30b8c9b06a26b5954e133468df7758236947be69ca3c332435","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"7a3aa194cfd5919c4da251ef04ea051077e22702638d4edcb9579e9101653519","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1}],"root":[63,64,[69,73],179,180],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"referencedMap":[[62,1],[60,2],[58,2],[59,2],[61,3],[183,4],[181,2],[184,2],[124,5],[125,5],[126,6],[79,7],[127,8],[128,9],[129,10],[74,2],[77,11],[75,2],[76,2],[130,12],[131,13],[132,14],[133,15],[134,16],[135,17],[136,17],[137,18],[138,19],[139,20],[140,21],[80,2],[78,2],[141,22],[142,23],[143,24],[177,25],[144,26],[145,2],[146,27],[147,28],[148,29],[149,30],[150,31],[151,32],[152,33],[153,34],[154,35],[155,35],[156,36],[157,2],[158,37],[159,38],[161,39],[160,40],[162,41],[163,42],[164,43],[165,44],[166,45],[167,46],[168,47],[169,48],[170,49],[171,50],[172,51],[173,52],[174,53],[81,2],[82,2],[83,2],[121,54],[122,2],[123,2],[175,55],[176,56],[185,2],[186,2],[188,57],[178,58],[189,58],[182,2],[187,2],[56,2],[57,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[20,2],[21,2],[4,2],[22,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[37,2],[34,2],[35,2],[36,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[55,2],[54,2],[1,2],[99,59],[109,60],[98,59],[119,61],[90,62],[89,63],[118,64],[112,65],[117,66],[92,67],[106,68],[91,69],[115,70],[87,71],[86,64],[116,72],[88,73],[93,74],[94,2],[97,74],[84,2],[120,75],[110,76],[101,77],[102,78],[104,79],[100,80],[103,81],[113,64],[95,82],[96,83],[105,84],[85,85],[108,76],[107,74],[111,2],[114,86],[65,2],[67,87],[68,88],[66,89],[70,90],[180,91],[72,92],[63,89],[73,93],[71,94],[64,95],[69,96],[179,97]],"latestChangedDtsFile":"./dist/index.d.ts","version":"5.7.3"}
@@ -1,17 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(git config:*)",
5
- "Bash(gh repo create:*)",
6
- "Bash(gh org:*)",
7
- "Bash(gh api:*)",
8
- "Bash(npm publish:*)",
9
- "Bash(npm run typecheck:*)",
10
- "Bash(npm run build)",
11
- "Bash(npm test:*)",
12
- "Bash(npm link)",
13
- "Bash(npm install:*)",
14
- "Bash(npm version:*)"
15
- ]
16
- }
17
- }
package/CLAUDE.md DELETED
@@ -1,104 +0,0 @@
1
- # CLAUDE.md
2
-
3
- This file provides guidance to Claude Code when working with this repository.
4
-
5
- ## What is amux?
6
-
7
- **amux** (Agent Multiplexer) is a library for building agent-powered HTTP servers. Think of it like tmux, but for AI agents over HTTP. It provides:
8
-
9
- 1. **Session management**: Spawn, manage, and multiplex multiple ACP agent sessions
10
- 2. **WebSocket API**: Real-time streaming communication with agents
11
- 3. **State persistence**: Session history, preferences, and replay
12
- 4. **System context injection**: Customize agent behavior with injected knowledge
13
-
14
- ## Project Structure
15
-
16
- ```
17
- amux/
18
- ├── src/
19
- │ ├── index.ts # Public API exports
20
- │ ├── cli.ts # CLI entry point
21
- │ ├── server.ts # Express + WebSocket server factory
22
- │ ├── session.ts # AgentSession - core session management
23
- │ ├── client.ts # AmuxClient - ACP client implementation
24
- │ ├── terminal.ts # TerminalManager - PTY management
25
- │ ├── state.ts # StateManager - persistence
26
- │ ├── session-updates.ts # ACP update normalization
27
- │ └── types.ts # TypeScript types
28
- ├── package.json
29
- └── tsconfig.json
30
- ```
31
-
32
- ## Key Concepts
33
-
34
- ### AgentSession
35
-
36
- The core class that manages an ACP agent lifecycle:
37
- - Spawns agent processes (claude-code-acp, codex-acp, pi-acp)
38
- - Handles ACP protocol communication
39
- - Manages session state and history
40
- - Supports system context injection
41
-
42
- ### AmuxClient
43
-
44
- Implements the ACP Client interface:
45
- - Filesystem operations (read/write files)
46
- - Terminal management (spawn commands, get output)
47
- - Permission request handling
48
- - Session update broadcasting
49
-
50
- ### Server Factory
51
-
52
- `createAmuxServer()` provides a batteries-included server:
53
- - Express app with API routes
54
- - WebSocket server on `/ws`
55
- - Automatic agent spawning
56
- - History replay on reconnect
57
-
58
- ## Build Commands
59
-
60
- ```bash
61
- npm run build # Compile TypeScript
62
- npm run dev # Watch mode
63
- npm run typecheck # Type check only
64
- npm run test # Run tests
65
- ```
66
-
67
- ## API Design
68
-
69
- The public API has three levels:
70
-
71
- 1. **High-level**: `createAmuxServer(config)` - Full server in one call
72
- 2. **Mid-level**: `attachAmux(app, server, config)` - Attach to existing Express app
73
- 3. **Low-level**: `AgentSession` class - Full control over session management
74
-
75
- ## State Storage
76
-
77
- By default, state is stored in `~/.local/state/amux/`:
78
- - `instance-{id}.json` - Per-instance state (cwd, sessionId, agentType)
79
- - `session-{id}-history.json` - Session event history for replay
80
- - `sessions.json` - Session registry with metadata
81
-
82
- ## WebSocket Protocol
83
-
84
- The WebSocket API on `/ws` uses JSON messages. Key message types:
85
-
86
- **Client → Server:**
87
- - `prompt` - Send user message
88
- - `cancel` - Cancel current operation
89
- - `permission_response` - Respond to permission request
90
- - `change_cwd`, `new_session`, `change_agent`, etc.
91
-
92
- **Server → Client:**
93
- - `ready` - Connection established
94
- - `session_update` - Streaming updates from agent
95
- - `permission_request` - Agent needs permission
96
- - `history_replay` - Replay events on reconnect
97
- - `error` - Error occurred
98
-
99
- ## Testing
100
-
101
- When adding features:
102
- 1. Unit test individual components (StateManager, TerminalManager, etc.)
103
- 2. Integration test the full server with a mock agent
104
- 3. Test WebSocket message handling
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Ashley Hauck
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.