@link-assistant/agent 0.0.9 → 0.0.12

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 (104) hide show
  1. package/EXAMPLES.md +36 -0
  2. package/MODELS.md +72 -24
  3. package/README.md +59 -2
  4. package/TOOLS.md +20 -0
  5. package/package.json +35 -2
  6. package/src/agent/agent.ts +68 -54
  7. package/src/auth/claude-oauth.ts +426 -0
  8. package/src/auth/index.ts +28 -26
  9. package/src/auth/plugins.ts +876 -0
  10. package/src/bun/index.ts +53 -43
  11. package/src/bus/global.ts +5 -5
  12. package/src/bus/index.ts +59 -53
  13. package/src/cli/bootstrap.js +12 -12
  14. package/src/cli/bootstrap.ts +6 -6
  15. package/src/cli/cmd/agent.ts +97 -92
  16. package/src/cli/cmd/auth.ts +469 -0
  17. package/src/cli/cmd/cmd.ts +2 -2
  18. package/src/cli/cmd/export.ts +41 -41
  19. package/src/cli/cmd/mcp.ts +144 -119
  20. package/src/cli/cmd/models.ts +30 -29
  21. package/src/cli/cmd/run.ts +269 -213
  22. package/src/cli/cmd/stats.ts +185 -146
  23. package/src/cli/error.ts +17 -13
  24. package/src/cli/ui.ts +39 -24
  25. package/src/command/index.ts +26 -26
  26. package/src/config/config.ts +528 -288
  27. package/src/config/markdown.ts +15 -15
  28. package/src/file/ripgrep.ts +201 -169
  29. package/src/file/time.ts +21 -18
  30. package/src/file/watcher.ts +51 -42
  31. package/src/file.ts +1 -1
  32. package/src/flag/flag.ts +26 -11
  33. package/src/format/formatter.ts +206 -162
  34. package/src/format/index.ts +61 -61
  35. package/src/global/index.ts +21 -21
  36. package/src/id/id.ts +47 -33
  37. package/src/index.js +346 -199
  38. package/src/json-standard/index.ts +67 -51
  39. package/src/mcp/index.ts +135 -128
  40. package/src/patch/index.ts +336 -267
  41. package/src/project/bootstrap.ts +15 -15
  42. package/src/project/instance.ts +43 -36
  43. package/src/project/project.ts +47 -47
  44. package/src/project/state.ts +37 -33
  45. package/src/provider/models-macro.ts +5 -5
  46. package/src/provider/models.ts +32 -32
  47. package/src/provider/opencode.js +19 -19
  48. package/src/provider/provider.ts +518 -277
  49. package/src/provider/transform.ts +143 -102
  50. package/src/server/project.ts +21 -21
  51. package/src/server/server.ts +111 -105
  52. package/src/session/agent.js +66 -60
  53. package/src/session/compaction.ts +136 -111
  54. package/src/session/index.ts +189 -156
  55. package/src/session/message-v2.ts +312 -268
  56. package/src/session/message.ts +73 -57
  57. package/src/session/processor.ts +180 -166
  58. package/src/session/prompt.ts +678 -533
  59. package/src/session/retry.ts +26 -23
  60. package/src/session/revert.ts +76 -62
  61. package/src/session/status.ts +26 -26
  62. package/src/session/summary.ts +97 -76
  63. package/src/session/system.ts +77 -63
  64. package/src/session/todo.ts +22 -16
  65. package/src/snapshot/index.ts +92 -76
  66. package/src/storage/storage.ts +157 -120
  67. package/src/tool/bash.ts +116 -106
  68. package/src/tool/batch.ts +73 -59
  69. package/src/tool/codesearch.ts +60 -53
  70. package/src/tool/edit.ts +319 -263
  71. package/src/tool/glob.ts +32 -28
  72. package/src/tool/grep.ts +72 -53
  73. package/src/tool/invalid.ts +7 -7
  74. package/src/tool/ls.ts +77 -64
  75. package/src/tool/multiedit.ts +30 -21
  76. package/src/tool/patch.ts +121 -94
  77. package/src/tool/read.ts +140 -122
  78. package/src/tool/registry.ts +38 -38
  79. package/src/tool/task.ts +93 -60
  80. package/src/tool/todo.ts +16 -16
  81. package/src/tool/tool.ts +45 -36
  82. package/src/tool/webfetch.ts +97 -74
  83. package/src/tool/websearch.ts +78 -64
  84. package/src/tool/write.ts +21 -15
  85. package/src/util/binary.ts +27 -19
  86. package/src/util/context.ts +8 -8
  87. package/src/util/defer.ts +7 -5
  88. package/src/util/error.ts +24 -19
  89. package/src/util/eventloop.ts +16 -10
  90. package/src/util/filesystem.ts +37 -33
  91. package/src/util/fn.ts +11 -8
  92. package/src/util/iife.ts +1 -1
  93. package/src/util/keybind.ts +44 -44
  94. package/src/util/lazy.ts +7 -7
  95. package/src/util/locale.ts +20 -16
  96. package/src/util/lock.ts +43 -38
  97. package/src/util/log.ts +95 -85
  98. package/src/util/queue.ts +8 -8
  99. package/src/util/rpc.ts +35 -23
  100. package/src/util/scrap.ts +4 -4
  101. package/src/util/signal.ts +5 -5
  102. package/src/util/timeout.ts +6 -6
  103. package/src/util/token.ts +2 -2
  104. package/src/util/wildcard.ts +38 -27
@@ -1,26 +1,26 @@
1
- import z from "zod"
2
- import { Config } from "../config/config"
3
- import { Instance } from "../project/instance"
4
- import PROMPT_INITIALIZE from "./template/initialize.txt"
5
- import { Bus } from "../bus"
6
- import { Identifier } from "../id/id"
1
+ import z from 'zod';
2
+ import { Config } from '../config/config';
3
+ import { Instance } from '../project/instance';
4
+ import PROMPT_INITIALIZE from './template/initialize.txt';
5
+ import { Bus } from '../bus';
6
+ import { Identifier } from '../id/id';
7
7
 
8
8
  export namespace Command {
9
9
  export const Default = {
10
- INIT: "init",
11
- } as const
10
+ INIT: 'init',
11
+ } as const;
12
12
 
13
13
  export const Event = {
14
14
  Executed: Bus.event(
15
- "command.executed",
15
+ 'command.executed',
16
16
  z.object({
17
17
  name: z.string(),
18
- sessionID: Identifier.schema("session"),
18
+ sessionID: Identifier.schema('session'),
19
19
  arguments: z.string(),
20
- messageID: Identifier.schema("message"),
21
- }),
20
+ messageID: Identifier.schema('message'),
21
+ })
22
22
  ),
23
- }
23
+ };
24
24
 
25
25
  export const Info = z
26
26
  .object({
@@ -32,14 +32,14 @@ export namespace Command {
32
32
  subtask: z.boolean().optional(),
33
33
  })
34
34
  .meta({
35
- ref: "Command",
36
- })
37
- export type Info = z.infer<typeof Info>
35
+ ref: 'Command',
36
+ });
37
+ export type Info = z.infer<typeof Info>;
38
38
 
39
39
  const state = Instance.state(async () => {
40
- const cfg = await Config.get()
40
+ const cfg = await Config.get();
41
41
 
42
- const result: Record<string, Info> = {}
42
+ const result: Record<string, Info> = {};
43
43
 
44
44
  for (const [name, command] of Object.entries(cfg.command ?? {})) {
45
45
  result[name] = {
@@ -49,25 +49,25 @@ export namespace Command {
49
49
  description: command.description,
50
50
  template: command.template,
51
51
  subtask: command.subtask,
52
- }
52
+ };
53
53
  }
54
54
 
55
55
  if (result[Default.INIT] === undefined) {
56
56
  result[Default.INIT] = {
57
57
  name: Default.INIT,
58
- description: "create/update AGENTS.md",
59
- template: PROMPT_INITIALIZE.replace("${path}", Instance.worktree),
60
- }
58
+ description: 'create/update AGENTS.md',
59
+ template: PROMPT_INITIALIZE.replace('${path}', Instance.worktree),
60
+ };
61
61
  }
62
62
 
63
- return result
64
- })
63
+ return result;
64
+ });
65
65
 
66
66
  export async function get(name: string) {
67
- return state().then((x) => x[name])
67
+ return state().then((x) => x[name]);
68
68
  }
69
69
 
70
70
  export async function list() {
71
- return state().then((x) => Object.values(x))
71
+ return state().then((x) => Object.values(x));
72
72
  }
73
73
  }