artificial-code 1.17.13 → 1.17.14
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/bin/ac +56 -31
- package/bin/ac.js +224 -0
- package/package.json +16 -2
- package/AGENTS.md +0 -131
- package/Dockerfile +0 -18
- package/bunfig.toml +0 -7
- package/git +0 -0
- package/migration/20260511173437_session-metadata/migration.sql +0 -1
- package/migration/20260511173437_session-metadata/snapshot.json +0 -1500
- package/parsers-config.ts +0 -1
- package/script/bench-search.ts +0 -94
- package/script/bench-test-suite.ts +0 -52
- package/script/build.ts +0 -243
- package/script/generate.ts +0 -14
- package/script/httpapi-exercise.ts +0 -1
- package/script/postinstall.mjs +0 -189
- package/script/profile-test-files.ts +0 -42
- package/script/publish.ts +0 -213
- package/script/run-workspace-server +0 -106
- package/script/schema.ts +0 -77
- package/script/time.ts +0 -6
- package/script/trace-imports.ts +0 -153
- package/specs/effect/error-boundaries-plan.md +0 -235
- package/specs/effect/errors.md +0 -207
- package/specs/effect/facades.md +0 -218
- package/specs/effect/guide.md +0 -247
- package/specs/effect/instance-context.md +0 -13
- package/specs/effect/loose-ends.md +0 -30
- package/specs/effect/migration.md +0 -62
- package/specs/effect/routes.md +0 -61
- package/specs/effect/schema.md +0 -88
- package/specs/effect/server-package.md +0 -58
- package/specs/effect/todo.md +0 -241
- package/specs/effect/tools.md +0 -88
- package/specs/openapi-translation-cleanup.md +0 -204
- package/specs/tui-plugins.md +0 -544
- package/specs/v2/api.ts +0 -67
- package/specs/v2/message-shape.md +0 -136
- package/specs/v2/notifications.md +0 -13
- package/specs/v2/tui-command-shim.md +0 -67
- package/src/account/account.ts +0 -461
- package/src/account/repo.ts +0 -171
- package/src/account/schema.ts +0 -99
- package/src/account/url.ts +0 -8
- package/src/acp/agent.ts +0 -95
- package/src/acp/config-option.ts +0 -203
- package/src/acp/content.ts +0 -269
- package/src/acp/directory.ts +0 -212
- package/src/acp/error.ts +0 -97
- package/src/acp/event.ts +0 -342
- package/src/acp/permission.ts +0 -254
- package/src/acp/profile.ts +0 -42
- package/src/acp/service.ts +0 -1097
- package/src/acp/session.ts +0 -232
- package/src/acp/tool.ts +0 -364
- package/src/acp/usage.ts +0 -239
- package/src/agent/agent.ts +0 -453
- package/src/agent/generate.txt +0 -75
- package/src/agent/prompt/compaction.txt +0 -9
- package/src/agent/prompt/explore.txt +0 -18
- package/src/agent/prompt/summary.txt +0 -11
- package/src/agent/prompt/title.txt +0 -44
- package/src/agent/subagent-permissions.ts +0 -27
- package/src/audio.d.ts +0 -14
- package/src/auth/index.ts +0 -97
- package/src/background/job.ts +0 -37
- package/src/bus/global.ts +0 -22
- package/src/cli/bootstrap.ts +0 -11
- package/src/cli/cmd/account.ts +0 -264
- package/src/cli/cmd/acp.ts +0 -73
- package/src/cli/cmd/agent.ts +0 -259
- package/src/cli/cmd/attach.ts +0 -148
- package/src/cli/cmd/cmd.ts +0 -7
- package/src/cli/cmd/db.ts +0 -62
- package/src/cli/cmd/debug/agent.handler.ts +0 -193
- package/src/cli/cmd/debug/agent.ts +0 -27
- package/src/cli/cmd/debug/config.ts +0 -14
- package/src/cli/cmd/debug/file.ts +0 -73
- package/src/cli/cmd/debug/index.ts +0 -87
- package/src/cli/cmd/debug/lsp.ts +0 -50
- package/src/cli/cmd/debug/ripgrep.ts +0 -79
- package/src/cli/cmd/debug/scrap.ts +0 -16
- package/src/cli/cmd/debug/skill.ts +0 -15
- package/src/cli/cmd/debug/snapshot.ts +0 -50
- package/src/cli/cmd/debug/startup.ts +0 -11
- package/src/cli/cmd/debug/v2.ts +0 -42
- package/src/cli/cmd/export.ts +0 -292
- package/src/cli/cmd/generate.ts +0 -54
- package/src/cli/cmd/github.handler.ts +0 -1593
- package/src/cli/cmd/github.shared.ts +0 -30
- package/src/cli/cmd/github.ts +0 -42
- package/src/cli/cmd/import.ts +0 -224
- package/src/cli/cmd/mcp.ts +0 -840
- package/src/cli/cmd/models.ts +0 -66
- package/src/cli/cmd/plug.ts +0 -230
- package/src/cli/cmd/pr.ts +0 -115
- package/src/cli/cmd/prompt-display.ts +0 -1
- package/src/cli/cmd/providers.ts +0 -534
- package/src/cli/cmd/run/demo.ts +0 -1274
- package/src/cli/cmd/run/entry.body.ts +0 -205
- package/src/cli/cmd/run/footer.command.tsx +0 -1064
- package/src/cli/cmd/run/footer.menu.tsx +0 -351
- package/src/cli/cmd/run/footer.permission.tsx +0 -472
- package/src/cli/cmd/run/footer.prompt.tsx +0 -1306
- package/src/cli/cmd/run/footer.question.tsx +0 -573
- package/src/cli/cmd/run/footer.subagent.tsx +0 -173
- package/src/cli/cmd/run/footer.ts +0 -1129
- package/src/cli/cmd/run/footer.view.tsx +0 -943
- package/src/cli/cmd/run/footer.width.ts +0 -27
- package/src/cli/cmd/run/permission.shared.ts +0 -256
- package/src/cli/cmd/run/prompt.editor.ts +0 -157
- package/src/cli/cmd/run/prompt.shared.ts +0 -153
- package/src/cli/cmd/run/question.shared.ts +0 -340
- package/src/cli/cmd/run/runtime.boot.ts +0 -202
- package/src/cli/cmd/run/runtime.lifecycle.ts +0 -406
- package/src/cli/cmd/run/runtime.queue.ts +0 -349
- package/src/cli/cmd/run/runtime.shared.ts +0 -17
- package/src/cli/cmd/run/runtime.stdin.ts +0 -37
- package/src/cli/cmd/run/runtime.ts +0 -814
- package/src/cli/cmd/run/scrollback.shared.ts +0 -92
- package/src/cli/cmd/run/scrollback.surface.ts +0 -431
- package/src/cli/cmd/run/scrollback.writer.tsx +0 -352
- package/src/cli/cmd/run/session-data.ts +0 -1113
- package/src/cli/cmd/run/session-replay.ts +0 -374
- package/src/cli/cmd/run/session.shared.ts +0 -196
- package/src/cli/cmd/run/splash.ts +0 -280
- package/src/cli/cmd/run/stream.transport.ts +0 -1462
- package/src/cli/cmd/run/stream.ts +0 -175
- package/src/cli/cmd/run/subagent-data.ts +0 -876
- package/src/cli/cmd/run/theme.ts +0 -690
- package/src/cli/cmd/run/tool.ts +0 -1486
- package/src/cli/cmd/run/trace.ts +0 -94
- package/src/cli/cmd/run/turn-summary.ts +0 -47
- package/src/cli/cmd/run/types.ts +0 -350
- package/src/cli/cmd/run/variant.shared.ts +0 -216
- package/src/cli/cmd/run.ts +0 -1011
- package/src/cli/cmd/serve.ts +0 -24
- package/src/cli/cmd/session.ts +0 -147
- package/src/cli/cmd/stats.ts +0 -393
- package/src/cli/cmd/tui.ts +0 -305
- package/src/cli/cmd/uninstall.ts +0 -353
- package/src/cli/cmd/upgrade.ts +0 -74
- package/src/cli/cmd/web.ts +0 -84
- package/src/cli/effect/prompt.ts +0 -37
- package/src/cli/effect-cmd.ts +0 -96
- package/src/cli/error.ts +0 -130
- package/src/cli/heap.ts +0 -45
- package/src/cli/logo.ts +0 -1
- package/src/cli/network.ts +0 -80
- package/src/cli/tui/layer.ts +0 -8
- package/src/cli/tui/validate-session.ts +0 -29
- package/src/cli/tui/worker.ts +0 -80
- package/src/cli/ui.ts +0 -132
- package/src/cli/upgrade.ts +0 -53
- package/src/command/index.ts +0 -177
- package/src/command/template/initialize.txt +0 -66
- package/src/command/template/review.txt +0 -101
- package/src/config/agent.ts +0 -59
- package/src/config/command.ts +0 -39
- package/src/config/config.ts +0 -680
- package/src/config/entry-name.ts +0 -19
- package/src/config/managed.ts +0 -69
- package/src/config/markdown.ts +0 -36
- package/src/config/parse.ts +0 -79
- package/src/config/paths.ts +0 -45
- package/src/config/plugin.ts +0 -79
- package/src/config/tui-cwd.ts +0 -5
- package/src/config/tui-host-attention.ts +0 -21
- package/src/config/tui-migrate.ts +0 -132
- package/src/config/tui.ts +0 -276
- package/src/config/variable.ts +0 -91
- package/src/control-plane/adapters/index.ts +0 -41
- package/src/control-plane/adapters/worktree.ts +0 -96
- package/src/control-plane/dev/README.md +0 -19
- package/src/control-plane/dev/debug-workspace-plugin.ts +0 -73
- package/src/control-plane/types.ts +0 -59
- package/src/control-plane/util.ts +0 -39
- package/src/control-plane/workspace-adapter-runtime.ts +0 -51
- package/src/control-plane/workspace-context.ts +0 -26
- package/src/control-plane/workspace.ts +0 -964
- package/src/effect/app-node-builder-v1.ts +0 -12
- package/src/effect/app-runtime.ts +0 -135
- package/src/effect/bootstrap-runtime.ts +0 -19
- package/src/effect/bridge.ts +0 -84
- package/src/effect/config-service.ts +0 -67
- package/src/effect/instance-ref.ts +0 -11
- package/src/effect/instance-registry.ts +0 -12
- package/src/effect/instance-state.ts +0 -69
- package/src/effect/promise.ts +0 -17
- package/src/effect/run-service.ts +0 -47
- package/src/effect/runner.ts +0 -217
- package/src/effect/runtime-flags.ts +0 -77
- package/src/env/index.ts +0 -41
- package/src/event-manifest.ts +0 -3
- package/src/event-v2-bridge.ts +0 -71
- package/src/format/formatter.ts +0 -404
- package/src/format/index.ts +0 -203
- package/src/git/index.ts +0 -348
- package/src/id/id.ts +0 -80
- package/src/ide/index.ts +0 -54
- package/src/image/image.ts +0 -172
- package/src/index.ts +0 -142
- package/src/installation/index.ts +0 -336
- package/src/lsp/client.ts +0 -650
- package/src/lsp/diagnostic.ts +0 -29
- package/src/lsp/language.ts +0 -121
- package/src/lsp/launch.ts +0 -21
- package/src/lsp/lsp.ts +0 -507
- package/src/lsp/server.ts +0 -1983
- package/src/markdown.d.ts +0 -4
- package/src/mcp/auth.ts +0 -163
- package/src/mcp/catalog.ts +0 -170
- package/src/mcp/index.ts +0 -1012
- package/src/mcp/oauth-callback.ts +0 -194
- package/src/mcp/oauth-provider.ts +0 -259
- package/src/node.ts +0 -4
- package/src/patch/index.ts +0 -686
- package/src/permission/arity.ts +0 -163
- package/src/permission/evaluate.ts +0 -1
- package/src/permission/index.ts +0 -218
- package/src/plugin/azure.ts +0 -26
- package/src/plugin/cloudflare.ts +0 -76
- package/src/plugin/digitalocean.ts +0 -325
- package/src/plugin/github-copilot/copilot.ts +0 -414
- package/src/plugin/github-copilot/models.ts +0 -246
- package/src/plugin/index.ts +0 -314
- package/src/plugin/install.ts +0 -439
- package/src/plugin/loader.ts +0 -237
- package/src/plugin/meta.ts +0 -188
- package/src/plugin/openai/README.md +0 -31
- package/src/plugin/openai/codex.ts +0 -556
- package/src/plugin/openai/ws-pool.ts +0 -270
- package/src/plugin/openai/ws.ts +0 -381
- package/src/plugin/pty-environment.ts +0 -24
- package/src/plugin/shared.ts +0 -323
- package/src/plugin/snowflake-cortex.ts +0 -507
- package/src/plugin/tui/internal.ts +0 -10
- package/src/plugin/tui/runtime.ts +0 -1131
- package/src/plugin/xai.ts +0 -626
- package/src/project/bootstrap-service.ts +0 -9
- package/src/project/bootstrap.ts +0 -58
- package/src/project/instance-context.ts +0 -24
- package/src/project/instance-runtime.ts +0 -16
- package/src/project/instance-store.ts +0 -213
- package/src/project/project.ts +0 -483
- package/src/project/vcs.ts +0 -423
- package/src/provider/auth.ts +0 -229
- package/src/provider/error.ts +0 -188
- package/src/provider/model-status.ts +0 -8
- package/src/provider/provider.ts +0 -1977
- package/src/provider/transform.ts +0 -1561
- package/src/question/index.ts +0 -161
- package/src/question/schema.ts +0 -4
- package/src/server/auth.ts +0 -48
- package/src/server/event.ts +0 -10
- package/src/server/global-lifecycle.ts +0 -28
- package/src/server/init-projectors.ts +0 -3
- package/src/server/mdns.ts +0 -47
- package/src/server/projectors.ts +0 -1
- package/src/server/proxy-util.ts +0 -48
- package/src/server/routes/instance/httpapi/AGENTS.md +0 -39
- package/src/server/routes/instance/httpapi/api.ts +0 -97
- package/src/server/routes/instance/httpapi/errors.ts +0 -193
- package/src/server/routes/instance/httpapi/groups/config.ts +0 -65
- package/src/server/routes/instance/httpapi/groups/control-plane.ts +0 -35
- package/src/server/routes/instance/httpapi/groups/control.ts +0 -76
- package/src/server/routes/instance/httpapi/groups/event.ts +0 -29
- package/src/server/routes/instance/httpapi/groups/experimental.ts +0 -275
- package/src/server/routes/instance/httpapi/groups/file.ts +0 -185
- package/src/server/routes/instance/httpapi/groups/global.ts +0 -136
- package/src/server/routes/instance/httpapi/groups/instance.ts +0 -206
- package/src/server/routes/instance/httpapi/groups/mcp.ts +0 -156
- package/src/server/routes/instance/httpapi/groups/metadata.ts +0 -18
- package/src/server/routes/instance/httpapi/groups/permission.ts +0 -61
- package/src/server/routes/instance/httpapi/groups/project-copy.ts +0 -32
- package/src/server/routes/instance/httpapi/groups/project.ts +0 -93
- package/src/server/routes/instance/httpapi/groups/provider.ts +0 -101
- package/src/server/routes/instance/httpapi/groups/pty.ts +0 -172
- package/src/server/routes/instance/httpapi/groups/query.ts +0 -12
- package/src/server/routes/instance/httpapi/groups/question.ts +0 -74
- package/src/server/routes/instance/httpapi/groups/session.ts +0 -462
- package/src/server/routes/instance/httpapi/groups/sync.ts +0 -113
- package/src/server/routes/instance/httpapi/groups/tui.ts +0 -208
- package/src/server/routes/instance/httpapi/groups/workspace.ts +0 -141
- package/src/server/routes/instance/httpapi/handlers/config.ts +0 -34
- package/src/server/routes/instance/httpapi/handlers/control-plane.ts +0 -37
- package/src/server/routes/instance/httpapi/handlers/control.ts +0 -43
- package/src/server/routes/instance/httpapi/handlers/event.ts +0 -99
- package/src/server/routes/instance/httpapi/handlers/experimental.ts +0 -193
- package/src/server/routes/instance/httpapi/handlers/file.ts +0 -139
- package/src/server/routes/instance/httpapi/handlers/global.ts +0 -156
- package/src/server/routes/instance/httpapi/handlers/instance.ts +0 -110
- package/src/server/routes/instance/httpapi/handlers/mcp.ts +0 -111
- package/src/server/routes/instance/httpapi/handlers/permission.ts +0 -41
- package/src/server/routes/instance/httpapi/handlers/project-copy.ts +0 -83
- package/src/server/routes/instance/httpapi/handlers/project.ts +0 -63
- package/src/server/routes/instance/httpapi/handlers/provider.ts +0 -113
- package/src/server/routes/instance/httpapi/handlers/pty.ts +0 -273
- package/src/server/routes/instance/httpapi/handlers/question.ts +0 -54
- package/src/server/routes/instance/httpapi/handlers/session-errors.ts +0 -21
- package/src/server/routes/instance/httpapi/handlers/session.ts +0 -442
- package/src/server/routes/instance/httpapi/handlers/sync.ts +0 -89
- package/src/server/routes/instance/httpapi/handlers/tui.ts +0 -131
- package/src/server/routes/instance/httpapi/handlers/workspace.ts +0 -102
- package/src/server/routes/instance/httpapi/lifecycle.ts +0 -54
- package/src/server/routes/instance/httpapi/middleware/authorization.ts +0 -150
- package/src/server/routes/instance/httpapi/middleware/compression.ts +0 -64
- package/src/server/routes/instance/httpapi/middleware/cors-vary.ts +0 -29
- package/src/server/routes/instance/httpapi/middleware/error.ts +0 -43
- package/src/server/routes/instance/httpapi/middleware/fence.ts +0 -25
- package/src/server/routes/instance/httpapi/middleware/instance-context.ts +0 -43
- package/src/server/routes/instance/httpapi/middleware/proxy.ts +0 -108
- package/src/server/routes/instance/httpapi/middleware/schema-error.ts +0 -41
- package/src/server/routes/instance/httpapi/middleware/workspace-routing.ts +0 -250
- package/src/server/routes/instance/httpapi/public.ts +0 -537
- package/src/server/routes/instance/httpapi/server.ts +0 -322
- package/src/server/routes/instance/httpapi/websocket-tracker.ts +0 -60
- package/src/server/server.ts +0 -226
- package/src/server/shared/fence.ts +0 -60
- package/src/server/shared/pty-ticket.ts +0 -15
- package/src/server/shared/public-ui.ts +0 -12
- package/src/server/shared/tui-control.ts +0 -28
- package/src/server/shared/ui.ts +0 -108
- package/src/server/shared/workspace-routing.ts +0 -38
- package/src/server/tui-event.ts +0 -1
- package/src/session/compaction.ts +0 -562
- package/src/session/instruction.ts +0 -237
- package/src/session/llm/AGENTS.md +0 -90
- package/src/session/llm/ai-sdk.ts +0 -288
- package/src/session/llm/native-request.ts +0 -196
- package/src/session/llm/native-runtime.ts +0 -195
- package/src/session/llm/request.ts +0 -226
- package/src/session/llm.ts +0 -404
- package/src/session/message-error.ts +0 -14
- package/src/session/message-v2.ts +0 -734
- package/src/session/message.ts +0 -148
- package/src/session/overflow.ts +0 -34
- package/src/session/processor.ts +0 -716
- package/src/session/prompt/anthropic.txt +0 -105
- package/src/session/prompt/beast.txt +0 -147
- package/src/session/prompt/build-switch.txt +0 -5
- package/src/session/prompt/codex.txt +0 -79
- package/src/session/prompt/copilot-gpt-5.txt +0 -143
- package/src/session/prompt/default.txt +0 -95
- package/src/session/prompt/gemini.txt +0 -155
- package/src/session/prompt/gpt.txt +0 -107
- package/src/session/prompt/kimi.txt +0 -95
- package/src/session/prompt/plan-mode.txt +0 -70
- package/src/session/prompt/plan-reminder-anthropic.txt +0 -67
- package/src/session/prompt/plan.txt +0 -26
- package/src/session/prompt/trinity.txt +0 -97
- package/src/session/prompt.ts +0 -1630
- package/src/session/reminders.ts +0 -92
- package/src/session/retry.ts +0 -201
- package/src/session/revert.ts +0 -146
- package/src/session/run-state.ts +0 -151
- package/src/session/schema.ts +0 -26
- package/src/session/session.ts +0 -1018
- package/src/session/status.ts +0 -56
- package/src/session/summary.ts +0 -160
- package/src/session/system.ts +0 -143
- package/src/session/todo.ts +0 -74
- package/src/session/tools.ts +0 -583
- package/src/share/session.ts +0 -58
- package/src/share/share-next.ts +0 -371
- package/src/skill/discovery.ts +0 -140
- package/src/skill/index.ts +0 -354
- package/src/snapshot/index.ts +0 -807
- package/src/sql.d.ts +0 -4
- package/src/storage/schema.ts +0 -5
- package/src/storage/storage.ts +0 -327
- package/src/sync/README.md +0 -179
- package/src/sync/schema.ts +0 -11
- package/src/temporary.ts +0 -31
- package/src/tool/apply_patch.ts +0 -313
- package/src/tool/apply_patch.txt +0 -33
- package/src/tool/edit.ts +0 -737
- package/src/tool/edit.txt +0 -10
- package/src/tool/external-directory.ts +0 -49
- package/src/tool/glob.ts +0 -76
- package/src/tool/glob.txt +0 -6
- package/src/tool/grep.ts +0 -112
- package/src/tool/grep.txt +0 -8
- package/src/tool/invalid.ts +0 -21
- package/src/tool/json-schema.ts +0 -164
- package/src/tool/lsp.ts +0 -113
- package/src/tool/lsp.txt +0 -24
- package/src/tool/mcp-websearch.ts +0 -96
- package/src/tool/plan-enter.txt +0 -14
- package/src/tool/plan-exit.txt +0 -13
- package/src/tool/plan.ts +0 -79
- package/src/tool/question.ts +0 -44
- package/src/tool/question.txt +0 -10
- package/src/tool/read.ts +0 -386
- package/src/tool/read.txt +0 -14
- package/src/tool/registry.ts +0 -420
- package/src/tool/schema.ts +0 -14
- package/src/tool/shell/id.ts +0 -19
- package/src/tool/shell/prompt.ts +0 -293
- package/src/tool/shell/shell.txt +0 -21
- package/src/tool/shell.ts +0 -645
- package/src/tool/skill.ts +0 -70
- package/src/tool/skill.txt +0 -5
- package/src/tool/task.ts +0 -346
- package/src/tool/task.txt +0 -19
- package/src/tool/todo.ts +0 -46
- package/src/tool/todowrite.txt +0 -44
- package/src/tool/tool.ts +0 -183
- package/src/tool/truncate.ts +0 -156
- package/src/tool/truncation-dir.ts +0 -4
- package/src/tool/webfetch.ts +0 -192
- package/src/tool/webfetch.txt +0 -13
- package/src/tool/websearch.ts +0 -143
- package/src/tool/websearch.txt +0 -14
- package/src/tool/write.ts +0 -104
- package/src/tool/write.txt +0 -8
- package/src/util/archive.ts +0 -17
- package/src/util/bom.ts +0 -27
- package/src/util/data-url.ts +0 -9
- package/src/util/defer.ts +0 -10
- package/src/util/effect-http-client.ts +0 -11
- package/src/util/error.ts +0 -1
- package/src/util/filesystem.ts +0 -251
- package/src/util/html.ts +0 -8
- package/src/util/iife.ts +0 -3
- package/src/util/lazy.ts +0 -20
- package/src/util/local-context.ts +0 -25
- package/src/util/locale.ts +0 -2
- package/src/util/media.ts +0 -26
- package/src/util/process.ts +0 -177
- package/src/util/proxy-env.ts +0 -72
- package/src/util/queue.ts +0 -32
- package/src/util/record.ts +0 -1
- package/src/util/repository.ts +0 -232
- package/src/util/rpc.ts +0 -66
- package/src/util/signal.ts +0 -12
- package/src/util/timeout.ts +0 -13
- package/src/util/token.ts +0 -1
- package/src/util/wildcard.ts +0 -59
- package/src/worktree/index.ts +0 -623
- package/test/AGENTS.md +0 -204
- package/test/EFFECT_TEST_MIGRATION.md +0 -169
- package/test/account/repo.test.ts +0 -355
- package/test/account/service.test.ts +0 -456
- package/test/acp/config-option.test.ts +0 -229
- package/test/acp/content.test.ts +0 -235
- package/test/acp/directory.test.ts +0 -188
- package/test/acp/error.test.ts +0 -67
- package/test/acp/event.test.ts +0 -751
- package/test/acp/permission.test.ts +0 -401
- package/test/acp/service-session.test.ts +0 -1248
- package/test/acp/session.test.ts +0 -201
- package/test/acp/tool.test.ts +0 -298
- package/test/acp/usage.test.ts +0 -318
- package/test/agent/agent.test.ts +0 -755
- package/test/agent/plan-mode-subagent-bypass.test.ts +0 -160
- package/test/agent/plugin-agent-regression.test.ts +0 -51
- package/test/auth/auth.test.ts +0 -75
- package/test/background/job.test.ts +0 -244
- package/test/cli/account.test.ts +0 -30
- package/test/cli/acp/acp-test-client.ts +0 -97
- package/test/cli/acp/config-options.test.ts +0 -103
- package/test/cli/acp/helpers.ts +0 -96
- package/test/cli/acp/initialize-auth.test.ts +0 -61
- package/test/cli/acp/lifecycle.test.ts +0 -118
- package/test/cli/acp/prompt-content.test.ts +0 -97
- package/test/cli/acp/skills.test.ts +0 -38
- package/test/cli/cmd/tui/attention.test.ts +0 -484
- package/test/cli/effect-cmd-instance-als.test.ts +0 -40
- package/test/cli/error.test.ts +0 -95
- package/test/cli/github-action.test.ts +0 -199
- package/test/cli/github-remote.test.ts +0 -90
- package/test/cli/help/__snapshots__/help-snapshots.test.ts.snap +0 -623
- package/test/cli/help/help-snapshots.test.ts +0 -140
- package/test/cli/import.test.ts +0 -54
- package/test/cli/mcp-add.test.ts +0 -74
- package/test/cli/plugin-auth-picker.test.ts +0 -120
- package/test/cli/run/entry.body.test.ts +0 -536
- package/test/cli/run/footer.menu.test.ts +0 -43
- package/test/cli/run/footer.view.test.tsx +0 -1375
- package/test/cli/run/footer.width.test.ts +0 -35
- package/test/cli/run/permission.shared.test.ts +0 -144
- package/test/cli/run/prompt.editor.test.ts +0 -101
- package/test/cli/run/prompt.shared.test.ts +0 -101
- package/test/cli/run/question.shared.test.ts +0 -115
- package/test/cli/run/run-process.test.ts +0 -331
- package/test/cli/run/runtime.boot.test.ts +0 -283
- package/test/cli/run/runtime.queue.test.ts +0 -481
- package/test/cli/run/runtime.stdin.test.ts +0 -71
- package/test/cli/run/runtime.test.ts +0 -238
- package/test/cli/run/scrollback.surface.test.ts +0 -1092
- package/test/cli/run/session-data.test.ts +0 -593
- package/test/cli/run/session-replay.test.ts +0 -691
- package/test/cli/run/session.shared.test.ts +0 -247
- package/test/cli/run/stream.test.ts +0 -56
- package/test/cli/run/stream.transport.test.ts +0 -2363
- package/test/cli/run/subagent-data.test.ts +0 -547
- package/test/cli/run/theme.test.ts +0 -177
- package/test/cli/run/variant.shared.test.ts +0 -218
- package/test/cli/serve/serve-process.test.ts +0 -61
- package/test/cli/smokes/read-only.test.ts +0 -115
- package/test/cli/tui/attach.test.ts +0 -11
- package/test/cli/tui/editor-context-zed.test.ts +0 -379
- package/test/cli/tui/editor-context.test.tsx +0 -297
- package/test/cli/tui/plugin-add.test.ts +0 -110
- package/test/cli/tui/plugin-install.test.ts +0 -87
- package/test/cli/tui/plugin-lifecycle.test.ts +0 -224
- package/test/cli/tui/plugin-loader-entrypoint.test.ts +0 -485
- package/test/cli/tui/plugin-loader-pure.test.ts +0 -72
- package/test/cli/tui/plugin-loader.test.ts +0 -1332
- package/test/cli/tui/plugin-toggle.test.ts +0 -264
- package/test/cli/tui/thread.test.ts +0 -95
- package/test/config/agent-color.test.ts +0 -47
- package/test/config/config.test.ts +0 -2027
- package/test/config/entry-name.test.ts +0 -57
- package/test/config/fixtures/empty-frontmatter.md +0 -4
- package/test/config/fixtures/frontmatter.md +0 -28
- package/test/config/fixtures/markdown-header.md +0 -11
- package/test/config/fixtures/no-frontmatter.md +0 -1
- package/test/config/fixtures/weird-model-id.md +0 -13
- package/test/config/lsp.test.ts +0 -69
- package/test/config/markdown.test.ts +0 -228
- package/test/config/plugin.test.ts +0 -0
- package/test/config/tui.test.ts +0 -894
- package/test/control-plane/adapters.test.ts +0 -71
- package/test/control-plane/workspace.test.ts +0 -1701
- package/test/effect/app-runtime-logger.test.ts +0 -101
- package/test/effect/config-service.test.ts +0 -65
- package/test/effect/instance-state.test.ts +0 -392
- package/test/effect/run-service.test.ts +0 -89
- package/test/effect/runner.test.ts +0 -514
- package/test/effect/runtime-flags.test.ts +0 -374
- package/test/event-manifest.test.ts +0 -24
- package/test/fake/account.ts +0 -9
- package/test/fake/auth.ts +0 -8
- package/test/fake/npm.ts +0 -8
- package/test/fake/provider.ts +0 -82
- package/test/fake/skill.ts +0 -8
- package/test/filesystem/filesystem.test.ts +0 -318
- package/test/fixture/agent-plugin.constants.ts +0 -6
- package/test/fixture/agent-plugin.ts +0 -12
- package/test/fixture/config.ts +0 -23
- package/test/fixture/db.ts +0 -11
- package/test/fixture/fixture.test.ts +0 -26
- package/test/fixture/fixture.ts +0 -228
- package/test/fixture/flag.ts +0 -20
- package/test/fixture/flock-worker.ts +0 -72
- package/test/fixture/lsp/fake-lsp-server.js +0 -249
- package/test/fixture/mcp-session-recovery.ts +0 -50
- package/test/fixture/plug-worker.ts +0 -93
- package/test/fixture/plugin-meta-worker.ts +0 -19
- package/test/fixture/plugin.ts +0 -10
- package/test/fixture/skills/agents-sdk/SKILL.md +0 -152
- package/test/fixture/skills/agents-sdk/references/callable.md +0 -92
- package/test/fixture/skills/cloudflare/SKILL.md +0 -211
- package/test/fixture/skills/index.json +0 -6
- package/test/fixture/tui-environment.tsx +0 -32
- package/test/fixture/tui-plugin.ts +0 -355
- package/test/fixture/tui-runtime.ts +0 -56
- package/test/fixture/tui-sdk.ts +0 -82
- package/test/fixture/workspace.ts +0 -34
- package/test/fixtures/recordings/session/native-anthropic-tool-loop.json +0 -49
- package/test/fixtures/recordings/session/native-openai-oauth-tool-loop.json +0 -45
- package/test/fixtures/recordings/session/native-zen-tool-loop.json +0 -49
- package/test/format/format.test.ts +0 -235
- package/test/git/git.test.ts +0 -179
- package/test/ide/ide.test.ts +0 -82
- package/test/image/fixtures/picture-5mb-base64.png +0 -0
- package/test/image/image.test.ts +0 -121
- package/test/installation/installation.test.ts +0 -240
- package/test/lib/cli-process.ts +0 -535
- package/test/lib/effect.ts +0 -177
- package/test/lib/filesystem.ts +0 -10
- package/test/lib/llm-server.ts +0 -779
- package/test/lib/snapshot.ts +0 -73
- package/test/lib/test-provider.ts +0 -37
- package/test/lib/websocket.ts +0 -46
- package/test/lsp/client.test.ts +0 -488
- package/test/lsp/index.test.ts +0 -231
- package/test/lsp/jdtls-root.test.ts +0 -459
- package/test/lsp/launch.test.ts +0 -22
- package/test/lsp/lifecycle.test.ts +0 -160
- package/test/mcp/auth.test.ts +0 -78
- package/test/mcp/catalog.test.ts +0 -47
- package/test/mcp/headers.test.ts +0 -127
- package/test/mcp/lifecycle.test.ts +0 -1304
- package/test/mcp/oauth-auto-connect.test.ts +0 -367
- package/test/mcp/oauth-browser.test.ts +0 -243
- package/test/mcp/oauth-callback.test.ts +0 -114
- package/test/mcp/oauth-provider.test.ts +0 -102
- package/test/mcp/session-recovery.test.ts +0 -27
- package/test/patch/patch.test.ts +0 -384
- package/test/permission/arity.test.ts +0 -33
- package/test/permission/next.test.ts +0 -1174
- package/test/permission-task.test.ts +0 -319
- package/test/plugin/auth-override.test.ts +0 -101
- package/test/plugin/cloudflare.test.ts +0 -68
- package/test/plugin/codex.test.ts +0 -256
- package/test/plugin/github-copilot-models.test.ts +0 -332
- package/test/plugin/install-concurrency.test.ts +0 -140
- package/test/plugin/install.test.ts +0 -570
- package/test/plugin/loader-shared.test.ts +0 -1306
- package/test/plugin/meta.test.ts +0 -137
- package/test/plugin/openai-rollout.test.ts +0 -17
- package/test/plugin/openai-ws.test.ts +0 -884
- package/test/plugin/shared.test.ts +0 -88
- package/test/plugin/snowflake-cortex.test.ts +0 -278
- package/test/plugin/trigger.test.ts +0 -108
- package/test/plugin/workspace-adapter.test.ts +0 -111
- package/test/plugin/xai.test.ts +0 -620
- package/test/preload.ts +0 -92
- package/test/project/instance-bootstrap.test.ts +0 -115
- package/test/project/instance.test.ts +0 -248
- package/test/project/migrate-global.test.ts +0 -168
- package/test/project/project-directory.test.ts +0 -202
- package/test/project/project.test.ts +0 -808
- package/test/project/vcs.test.ts +0 -335
- package/test/project/worktree-remove.test.ts +0 -128
- package/test/project/worktree.test.ts +0 -324
- package/test/provider/amazon-bedrock.test.ts +0 -361
- package/test/provider/cf-ai-gateway-e2e.test.ts +0 -132
- package/test/provider/digitalocean.test.ts +0 -124
- package/test/provider/gitlab-duo.test.ts +0 -412
- package/test/provider/header-timeout.test.ts +0 -234
- package/test/provider/model-status.test.ts +0 -61
- package/test/provider/provider.test.ts +0 -1912
- package/test/provider/transform.test.ts +0 -4742
- package/test/question/question.test.ts +0 -459
- package/test/server/AGENTS.md +0 -15
- package/test/server/auth.test.ts +0 -59
- package/test/server/global-bus.ts +0 -31
- package/test/server/global-session-list.test.ts +0 -108
- package/test/server/httpapi-authorization.test.ts +0 -174
- package/test/server/httpapi-compression.test.ts +0 -151
- package/test/server/httpapi-config.test.ts +0 -110
- package/test/server/httpapi-control-plane.test.ts +0 -63
- package/test/server/httpapi-cors-vary.test.ts +0 -63
- package/test/server/httpapi-cors.test.ts +0 -122
- package/test/server/httpapi-error-middleware.test.ts +0 -101
- package/test/server/httpapi-event.test.ts +0 -94
- package/test/server/httpapi-exercise/assertions.ts +0 -64
- package/test/server/httpapi-exercise/backend.ts +0 -144
- package/test/server/httpapi-exercise/dsl.ts +0 -210
- package/test/server/httpapi-exercise/environment.ts +0 -40
- package/test/server/httpapi-exercise/index.ts +0 -1814
- package/test/server/httpapi-exercise/report.ts +0 -66
- package/test/server/httpapi-exercise/routing.ts +0 -96
- package/test/server/httpapi-exercise/runner.ts +0 -267
- package/test/server/httpapi-exercise/runtime.ts +0 -52
- package/test/server/httpapi-exercise/types.ts +0 -127
- package/test/server/httpapi-experimental.test.ts +0 -298
- package/test/server/httpapi-file.test.ts +0 -83
- package/test/server/httpapi-global.test.ts +0 -66
- package/test/server/httpapi-instance-context.test.ts +0 -337
- package/test/server/httpapi-instance-route-auth.test.ts +0 -81
- package/test/server/httpapi-instance.test.ts +0 -265
- package/test/server/httpapi-layer.ts +0 -33
- package/test/server/httpapi-listen.test.ts +0 -465
- package/test/server/httpapi-mcp-oauth.test.ts +0 -73
- package/test/server/httpapi-mcp.test.ts +0 -223
- package/test/server/httpapi-mdns.test.ts +0 -79
- package/test/server/httpapi-promptasync-context.test.ts +0 -212
- package/test/server/httpapi-provider.test.ts +0 -401
- package/test/server/httpapi-pty.test.ts +0 -299
- package/test/server/httpapi-public-openapi.test.ts +0 -350
- package/test/server/httpapi-query-schema-drift.test.ts +0 -330
- package/test/server/httpapi-reference.test.ts +0 -63
- package/test/server/httpapi-schema-error-body.test.ts +0 -166
- package/test/server/httpapi-sdk.test.ts +0 -913
- package/test/server/httpapi-session.test.ts +0 -1090
- package/test/server/httpapi-sync.test.ts +0 -149
- package/test/server/httpapi-ui.test.ts +0 -456
- package/test/server/httpapi-v2-location.test.ts +0 -126
- package/test/server/httpapi-v2-pty.test.ts +0 -250
- package/test/server/httpapi-workspace-routing.test.ts +0 -552
- package/test/server/httpapi-workspace.test.ts +0 -506
- package/test/server/negative-tokens-regression.test.ts +0 -84
- package/test/server/project-copy.test.ts +0 -127
- package/test/server/project-init-git.test.ts +0 -118
- package/test/server/proxy-util.test.ts +0 -113
- package/test/server/sdk-error-shape.test.ts +0 -81
- package/test/server/sdk-v1-smoke.test.ts +0 -57
- package/test/server/session-actions.test.ts +0 -110
- package/test/server/session-diff-missing-patch.test.ts +0 -97
- package/test/server/session-list.test.ts +0 -302
- package/test/server/session-messages.test.ts +0 -180
- package/test/server/session-select.test.ts +0 -67
- package/test/server/workspace-proxy.test.ts +0 -181
- package/test/server/workspace-routing.test.ts +0 -94
- package/test/server/worktree-endpoint-repro.test.ts +0 -307
- package/test/session/compaction.test.ts +0 -1819
- package/test/session/instruction.test.ts +0 -264
- package/test/session/llm-native-recorded.test.ts +0 -413
- package/test/session/llm-native.test.ts +0 -761
- package/test/session/llm.test.ts +0 -2003
- package/test/session/message-v2.test.ts +0 -1661
- package/test/session/messages-pagination.test.ts +0 -1057
- package/test/session/processor-effect.test.ts +0 -1067
- package/test/session/prompt.test.ts +0 -2402
- package/test/session/retry.test.ts +0 -440
- package/test/session/revert-compact.test.ts +0 -638
- package/test/session/schema-decoding.test.ts +0 -313
- package/test/session/session-schema.test.ts +0 -78
- package/test/session/session.test.ts +0 -253
- package/test/session/snapshot-tool-race.test.ts +0 -189
- package/test/session/structured-output-integration.test.ts +0 -235
- package/test/session/structured-output.test.ts +0 -387
- package/test/session/system.test.ts +0 -142
- package/test/share/share-next.test.ts +0 -324
- package/test/skill/discovery.test.ts +0 -186
- package/test/skill/skill.test.ts +0 -585
- package/test/snapshot/snapshot.test.ts +0 -1218
- package/test/storage/storage.test.ts +0 -297
- package/test/tool/__snapshots__/parameters.test.ts.snap +0 -466
- package/test/tool/__snapshots__/tool.test.ts.snap +0 -9
- package/test/tool/apply_patch.test.ts +0 -529
- package/test/tool/edit.test.ts +0 -574
- package/test/tool/external-directory.test.ts +0 -156
- package/test/tool/fixtures/large-image.png +0 -0
- package/test/tool/fixtures/models-api.json +0 -117299
- package/test/tool/glob.test.ts +0 -132
- package/test/tool/grep.test.ts +0 -221
- package/test/tool/lsp.test.ts +0 -184
- package/test/tool/parameters.test.ts +0 -290
- package/test/tool/question.test.ts +0 -133
- package/test/tool/read.test.ts +0 -608
- package/test/tool/registry.test.ts +0 -493
- package/test/tool/shell.test.ts +0 -1199
- package/test/tool/skill.test.ts +0 -134
- package/test/tool/task.test.ts +0 -905
- package/test/tool/tool-define.test.ts +0 -154
- package/test/tool/truncation.test.ts +0 -264
- package/test/tool/webfetch.test.ts +0 -119
- package/test/tool/websearch.test.ts +0 -99
- package/test/tool/write.test.ts +0 -279
- package/test/util/data-url.test.ts +0 -14
- package/test/util/error.test.ts +0 -16
- package/test/util/filesystem.test.ts +0 -656
- package/test/util/glob.test.ts +0 -164
- package/test/util/html.test.ts +0 -15
- package/test/util/iife.test.ts +0 -36
- package/test/util/lazy.test.ts +0 -50
- package/test/util/module.test.ts +0 -59
- package/test/util/process.test.ts +0 -128
- package/test/util/repository.test.ts +0 -93
- package/test/util/timeout.test.ts +0 -21
- package/test/util/wildcard.test.ts +0 -90
- package/test/v2/session-message-updater.test.ts +0 -269
- package/tsconfig.json +0 -16
package/bin/ac
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Launcher for Artificial Code (ac).
|
|
5
|
+
*
|
|
6
|
+
* Resolves the pre-compiled native binary from the platform-specific
|
|
7
|
+
* opencode-* npm packages (the same packages used by opencode-ai) and
|
|
8
|
+
* runs it, forwarding all arguments and signals.
|
|
9
|
+
*
|
|
10
|
+
* Override the binary path with the AC_BIN_PATH environment variable,
|
|
11
|
+
* or point to a cached binary with the .ac file next to this script.
|
|
12
|
+
*/
|
|
13
|
+
|
|
3
14
|
const childProcess = require("child_process")
|
|
4
15
|
const fs = require("fs")
|
|
5
16
|
const path = require("path")
|
|
@@ -43,14 +54,18 @@ function run(target) {
|
|
|
43
54
|
})
|
|
44
55
|
}
|
|
45
56
|
|
|
57
|
+
// ── Environment override ──────────────────────────────────────────────────────
|
|
58
|
+
|
|
46
59
|
const envPath = process.env.AC_BIN_PATH
|
|
47
60
|
|
|
48
61
|
const scriptPath = fs.realpathSync(__filename)
|
|
49
62
|
const scriptDir = path.dirname(scriptPath)
|
|
50
63
|
|
|
51
|
-
//
|
|
64
|
+
// A manually cached binary written next to this script takes second priority.
|
|
52
65
|
const cached = path.join(scriptDir, ".ac")
|
|
53
66
|
|
|
67
|
+
// ── Platform detection ────────────────────────────────────────────────────────
|
|
68
|
+
|
|
54
69
|
const platformMap = {
|
|
55
70
|
darwin: "darwin",
|
|
56
71
|
linux: "linux",
|
|
@@ -62,16 +77,14 @@ const archMap = {
|
|
|
62
77
|
arm: "arm",
|
|
63
78
|
}
|
|
64
79
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const base = "ac-" + platform + "-" + arch
|
|
74
|
-
const binary = platform === "windows" ? "ac.exe" : "ac"
|
|
80
|
+
const platform = platformMap[os.platform()] || os.platform()
|
|
81
|
+
const arch = archMap[os.arch()] || os.arch()
|
|
82
|
+
|
|
83
|
+
// The platform packages use the "opencode-<os>-<arch>" naming convention and
|
|
84
|
+
// contain a binary called "opencode" (or "opencode.exe" on Windows).
|
|
85
|
+
// These are the packages that opencode-ai depends on and that are published to npm.
|
|
86
|
+
const pkgPrefix = "opencode-" + platform + "-" + arch
|
|
87
|
+
const binary = platform === "windows" ? "opencode.exe" : "opencode"
|
|
75
88
|
|
|
76
89
|
function supportsAvx2() {
|
|
77
90
|
if (arch !== "x64") return false
|
|
@@ -123,7 +136,9 @@ function supportsAvx2() {
|
|
|
123
136
|
return false
|
|
124
137
|
}
|
|
125
138
|
|
|
126
|
-
|
|
139
|
+
// Build the ordered list of package names to try, from most-specific to least.
|
|
140
|
+
// Mirrors the priority used by opencode-ai's own wrapper.
|
|
141
|
+
const pkgNames = (() => {
|
|
127
142
|
const avx2 = supportsAvx2()
|
|
128
143
|
const baseline = arch === "x64" && !avx2
|
|
129
144
|
|
|
@@ -134,7 +149,6 @@ const names = (() => {
|
|
|
134
149
|
} catch {
|
|
135
150
|
// ignore
|
|
136
151
|
}
|
|
137
|
-
|
|
138
152
|
try {
|
|
139
153
|
const result = childProcess.spawnSync("ldd", ["--version"], { encoding: "utf8" })
|
|
140
154
|
const text = ((result.stdout || "") + (result.stderr || "")).toLowerCase()
|
|
@@ -142,56 +156,67 @@ const names = (() => {
|
|
|
142
156
|
} catch {
|
|
143
157
|
// ignore
|
|
144
158
|
}
|
|
145
|
-
|
|
146
159
|
return false
|
|
147
160
|
})()
|
|
148
161
|
|
|
149
162
|
if (musl) {
|
|
150
163
|
if (arch === "x64") {
|
|
151
|
-
if (baseline) return [`${
|
|
152
|
-
return [`${
|
|
164
|
+
if (baseline) return [`${pkgPrefix}-baseline-musl`, `${pkgPrefix}-musl`, `${pkgPrefix}-baseline`, pkgPrefix]
|
|
165
|
+
return [`${pkgPrefix}-musl`, `${pkgPrefix}-baseline-musl`, pkgPrefix, `${pkgPrefix}-baseline`]
|
|
153
166
|
}
|
|
154
|
-
return [`${
|
|
167
|
+
return [`${pkgPrefix}-musl`, pkgPrefix]
|
|
155
168
|
}
|
|
156
169
|
|
|
157
170
|
if (arch === "x64") {
|
|
158
|
-
if (baseline) return [`${
|
|
159
|
-
return [
|
|
171
|
+
if (baseline) return [`${pkgPrefix}-baseline`, pkgPrefix, `${pkgPrefix}-baseline-musl`, `${pkgPrefix}-musl`]
|
|
172
|
+
return [pkgPrefix, `${pkgPrefix}-baseline`, `${pkgPrefix}-musl`, `${pkgPrefix}-baseline-musl`]
|
|
160
173
|
}
|
|
161
|
-
return [
|
|
174
|
+
return [pkgPrefix, `${pkgPrefix}-musl`]
|
|
162
175
|
}
|
|
163
176
|
|
|
164
177
|
if (arch === "x64") {
|
|
165
|
-
if (baseline) return [`${
|
|
166
|
-
return [
|
|
178
|
+
if (baseline) return [`${pkgPrefix}-baseline`, pkgPrefix]
|
|
179
|
+
return [pkgPrefix, `${pkgPrefix}-baseline`]
|
|
167
180
|
}
|
|
168
|
-
return [
|
|
181
|
+
return [pkgPrefix]
|
|
169
182
|
})()
|
|
170
183
|
|
|
184
|
+
// ── Binary resolution ─────────────────────────────────────────────────────────
|
|
185
|
+
|
|
171
186
|
function findBinary(startDir) {
|
|
172
187
|
let current = startDir
|
|
173
188
|
for (;;) {
|
|
174
189
|
const modules = path.join(current, "node_modules")
|
|
175
190
|
if (fs.existsSync(modules)) {
|
|
176
|
-
for (const
|
|
177
|
-
const candidate = path.join(modules,
|
|
191
|
+
for (const pkg of pkgNames) {
|
|
192
|
+
const candidate = path.join(modules, pkg, "bin", binary)
|
|
178
193
|
if (fs.existsSync(candidate)) return candidate
|
|
179
194
|
}
|
|
180
195
|
}
|
|
181
196
|
const parent = path.dirname(current)
|
|
182
|
-
if (parent === current)
|
|
183
|
-
return
|
|
184
|
-
}
|
|
197
|
+
if (parent === current) return undefined
|
|
185
198
|
current = parent
|
|
186
199
|
}
|
|
187
200
|
}
|
|
188
201
|
|
|
189
202
|
const resolved = envPath || (fs.existsSync(cached) ? cached : findBinary(scriptDir))
|
|
203
|
+
|
|
190
204
|
if (!resolved) {
|
|
191
205
|
console.error(
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
"
|
|
206
|
+
[
|
|
207
|
+
"Error: Artificial Code binary not found for your platform.",
|
|
208
|
+
"",
|
|
209
|
+
"This usually means the platform package was not installed.",
|
|
210
|
+
"Try reinstalling:",
|
|
211
|
+
" npm install -g artificial-code",
|
|
212
|
+
" pnpm add -g artificial-code",
|
|
213
|
+
" bun add -g artificial-code",
|
|
214
|
+
"",
|
|
215
|
+
"You can also override the binary path:",
|
|
216
|
+
" AC_BIN_PATH=/path/to/opencode ac",
|
|
217
|
+
"",
|
|
218
|
+
"Expected package (one of): " + pkgNames.join(", "),
|
|
219
|
+
].join("\n"),
|
|
195
220
|
)
|
|
196
221
|
process.exit(1)
|
|
197
222
|
}
|
package/bin/ac.js
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Launcher for Artificial Code (ac).
|
|
5
|
+
*
|
|
6
|
+
* Resolves the pre-compiled native binary from the platform-specific
|
|
7
|
+
* opencode-* npm packages (the same packages used by opencode-ai) and
|
|
8
|
+
* runs it, forwarding all arguments and signals.
|
|
9
|
+
*
|
|
10
|
+
* Override the binary path with the AC_BIN_PATH environment variable,
|
|
11
|
+
* or point to a cached binary with the .ac file next to this script.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const childProcess = require("child_process")
|
|
15
|
+
const fs = require("fs")
|
|
16
|
+
const path = require("path")
|
|
17
|
+
const os = require("os")
|
|
18
|
+
|
|
19
|
+
const forwardedSignals = ["SIGINT", "SIGTERM", "SIGHUP"]
|
|
20
|
+
|
|
21
|
+
function run(target) {
|
|
22
|
+
const child = childProcess.spawn(target, process.argv.slice(2), {
|
|
23
|
+
stdio: "inherit",
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
child.on("error", (error) => {
|
|
27
|
+
console.error(error.message)
|
|
28
|
+
process.exit(1)
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
const forwarders = {}
|
|
32
|
+
for (const signal of forwardedSignals) {
|
|
33
|
+
forwarders[signal] = () => {
|
|
34
|
+
try {
|
|
35
|
+
child.kill(signal)
|
|
36
|
+
} catch {
|
|
37
|
+
// The child may have already exited.
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
process.on(signal, forwarders[signal])
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
child.on("exit", (code, signal) => {
|
|
44
|
+
for (const forwardedSignal of forwardedSignals) {
|
|
45
|
+
process.removeListener(forwardedSignal, forwarders[forwardedSignal])
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (signal) {
|
|
49
|
+
process.kill(process.pid, signal)
|
|
50
|
+
return
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
process.exit(typeof code === "number" ? code : 0)
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// ── Environment override ──────────────────────────────────────────────────────
|
|
58
|
+
|
|
59
|
+
const envPath = process.env.AC_BIN_PATH
|
|
60
|
+
|
|
61
|
+
const scriptPath = fs.realpathSync(__filename)
|
|
62
|
+
const scriptDir = path.dirname(scriptPath)
|
|
63
|
+
|
|
64
|
+
// A manually cached binary written next to this script takes second priority.
|
|
65
|
+
const cached = path.join(scriptDir, ".ac")
|
|
66
|
+
|
|
67
|
+
// ── Platform detection ────────────────────────────────────────────────────────
|
|
68
|
+
|
|
69
|
+
const platformMap = {
|
|
70
|
+
darwin: "darwin",
|
|
71
|
+
linux: "linux",
|
|
72
|
+
win32: "windows",
|
|
73
|
+
}
|
|
74
|
+
const archMap = {
|
|
75
|
+
x64: "x64",
|
|
76
|
+
arm64: "arm64",
|
|
77
|
+
arm: "arm",
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const platform = platformMap[os.platform()] || os.platform()
|
|
81
|
+
const arch = archMap[os.arch()] || os.arch()
|
|
82
|
+
|
|
83
|
+
// The platform packages use the "opencode-<os>-<arch>" naming convention and
|
|
84
|
+
// contain a binary called "opencode" (or "opencode.exe" on Windows).
|
|
85
|
+
// These are the packages that opencode-ai depends on and that are published to npm.
|
|
86
|
+
const pkgPrefix = "opencode-" + platform + "-" + arch
|
|
87
|
+
const binary = platform === "windows" ? "opencode.exe" : "opencode"
|
|
88
|
+
|
|
89
|
+
function supportsAvx2() {
|
|
90
|
+
if (arch !== "x64") return false
|
|
91
|
+
|
|
92
|
+
if (platform === "linux") {
|
|
93
|
+
try {
|
|
94
|
+
return /(^|\s)avx2(\s|$)/i.test(fs.readFileSync("/proc/cpuinfo", "utf8"))
|
|
95
|
+
} catch {
|
|
96
|
+
return false
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (platform === "darwin") {
|
|
101
|
+
try {
|
|
102
|
+
const result = childProcess.spawnSync("sysctl", ["-n", "hw.optional.avx2_0"], {
|
|
103
|
+
encoding: "utf8",
|
|
104
|
+
timeout: 1500,
|
|
105
|
+
})
|
|
106
|
+
if (result.status !== 0) return false
|
|
107
|
+
return (result.stdout || "").trim() === "1"
|
|
108
|
+
} catch {
|
|
109
|
+
return false
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (platform === "windows") {
|
|
114
|
+
const cmd =
|
|
115
|
+
'(Add-Type -MemberDefinition "[DllImport(""kernel32.dll"")] public static extern bool IsProcessorFeaturePresent(int ProcessorFeature);" -Name Kernel32 -Namespace Win32 -PassThru)::IsProcessorFeaturePresent(40)'
|
|
116
|
+
|
|
117
|
+
for (const exe of ["powershell.exe", "pwsh.exe", "pwsh", "powershell"]) {
|
|
118
|
+
try {
|
|
119
|
+
const result = childProcess.spawnSync(exe, ["-NoProfile", "-NonInteractive", "-Command", cmd], {
|
|
120
|
+
encoding: "utf8",
|
|
121
|
+
timeout: 3000,
|
|
122
|
+
windowsHide: true,
|
|
123
|
+
})
|
|
124
|
+
if (result.status !== 0) continue
|
|
125
|
+
const out = (result.stdout || "").trim().toLowerCase()
|
|
126
|
+
if (out === "true" || out === "1") return true
|
|
127
|
+
if (out === "false" || out === "0") return false
|
|
128
|
+
} catch {
|
|
129
|
+
continue
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return false
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return false
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Build the ordered list of package names to try, from most-specific to least.
|
|
140
|
+
// Mirrors the priority used by opencode-ai's own wrapper.
|
|
141
|
+
const pkgNames = (() => {
|
|
142
|
+
const avx2 = supportsAvx2()
|
|
143
|
+
const baseline = arch === "x64" && !avx2
|
|
144
|
+
|
|
145
|
+
if (platform === "linux") {
|
|
146
|
+
const musl = (() => {
|
|
147
|
+
try {
|
|
148
|
+
if (fs.existsSync("/etc/alpine-release")) return true
|
|
149
|
+
} catch {
|
|
150
|
+
// ignore
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const result = childProcess.spawnSync("ldd", ["--version"], { encoding: "utf8" })
|
|
154
|
+
const text = ((result.stdout || "") + (result.stderr || "")).toLowerCase()
|
|
155
|
+
if (text.includes("musl")) return true
|
|
156
|
+
} catch {
|
|
157
|
+
// ignore
|
|
158
|
+
}
|
|
159
|
+
return false
|
|
160
|
+
})()
|
|
161
|
+
|
|
162
|
+
if (musl) {
|
|
163
|
+
if (arch === "x64") {
|
|
164
|
+
if (baseline) return [`${pkgPrefix}-baseline-musl`, `${pkgPrefix}-musl`, `${pkgPrefix}-baseline`, pkgPrefix]
|
|
165
|
+
return [`${pkgPrefix}-musl`, `${pkgPrefix}-baseline-musl`, pkgPrefix, `${pkgPrefix}-baseline`]
|
|
166
|
+
}
|
|
167
|
+
return [`${pkgPrefix}-musl`, pkgPrefix]
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (arch === "x64") {
|
|
171
|
+
if (baseline) return [`${pkgPrefix}-baseline`, pkgPrefix, `${pkgPrefix}-baseline-musl`, `${pkgPrefix}-musl`]
|
|
172
|
+
return [pkgPrefix, `${pkgPrefix}-baseline`, `${pkgPrefix}-musl`, `${pkgPrefix}-baseline-musl`]
|
|
173
|
+
}
|
|
174
|
+
return [pkgPrefix, `${pkgPrefix}-musl`]
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (arch === "x64") {
|
|
178
|
+
if (baseline) return [`${pkgPrefix}-baseline`, pkgPrefix]
|
|
179
|
+
return [pkgPrefix, `${pkgPrefix}-baseline`]
|
|
180
|
+
}
|
|
181
|
+
return [pkgPrefix]
|
|
182
|
+
})()
|
|
183
|
+
|
|
184
|
+
// ── Binary resolution ─────────────────────────────────────────────────────────
|
|
185
|
+
|
|
186
|
+
function findBinary(startDir) {
|
|
187
|
+
let current = startDir
|
|
188
|
+
for (;;) {
|
|
189
|
+
const modules = path.join(current, "node_modules")
|
|
190
|
+
if (fs.existsSync(modules)) {
|
|
191
|
+
for (const pkg of pkgNames) {
|
|
192
|
+
const candidate = path.join(modules, pkg, "bin", binary)
|
|
193
|
+
if (fs.existsSync(candidate)) return candidate
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const parent = path.dirname(current)
|
|
197
|
+
if (parent === current) return undefined
|
|
198
|
+
current = parent
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
const resolved = envPath || (fs.existsSync(cached) ? cached : findBinary(scriptDir))
|
|
203
|
+
|
|
204
|
+
if (!resolved) {
|
|
205
|
+
console.error(
|
|
206
|
+
[
|
|
207
|
+
"Error: Artificial Code binary not found for your platform.",
|
|
208
|
+
"",
|
|
209
|
+
"This usually means the platform package was not installed.",
|
|
210
|
+
"Try reinstalling:",
|
|
211
|
+
" npm install -g artificial-code",
|
|
212
|
+
" pnpm add -g artificial-code",
|
|
213
|
+
" bun add -g artificial-code",
|
|
214
|
+
"",
|
|
215
|
+
"You can also override the binary path:",
|
|
216
|
+
" AC_BIN_PATH=/path/to/opencode ac",
|
|
217
|
+
"",
|
|
218
|
+
"Expected package (one of): " + pkgNames.join(", "),
|
|
219
|
+
].join("\n"),
|
|
220
|
+
)
|
|
221
|
+
process.exit(1)
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
run(resolved)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.14",
|
|
4
4
|
"name": "artificial-code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"dev": "bun run --conditions=browser ./src/index.ts"
|
|
12
12
|
},
|
|
13
13
|
"bin": {
|
|
14
|
-
"ac": "
|
|
14
|
+
"ac": "bin/ac.js"
|
|
15
15
|
},
|
|
16
16
|
"exports": {
|
|
17
17
|
"./*": "./src/*.ts"
|
|
@@ -150,6 +150,20 @@
|
|
|
150
150
|
"drizzle-orm": "catalog:"
|
|
151
151
|
},
|
|
152
152
|
"description": "Artificial Code — open-source AI coding agent for the terminal",
|
|
153
|
+
"optionalDependencies": {
|
|
154
|
+
"opencode-linux-x64": "1.17.13",
|
|
155
|
+
"opencode-linux-arm64": "1.17.13",
|
|
156
|
+
"opencode-linux-x64-baseline": "1.17.13",
|
|
157
|
+
"opencode-linux-x64-musl": "1.17.13",
|
|
158
|
+
"opencode-linux-arm64-musl": "1.17.13",
|
|
159
|
+
"opencode-linux-x64-baseline-musl": "1.17.13",
|
|
160
|
+
"opencode-darwin-arm64": "1.17.13",
|
|
161
|
+
"opencode-darwin-x64": "1.17.13",
|
|
162
|
+
"opencode-darwin-x64-baseline": "1.17.13",
|
|
163
|
+
"opencode-windows-x64": "1.17.13",
|
|
164
|
+
"opencode-windows-arm64": "1.17.13",
|
|
165
|
+
"opencode-windows-x64-baseline": "1.17.13"
|
|
166
|
+
},
|
|
153
167
|
"publishConfig": {
|
|
154
168
|
"access": "public"
|
|
155
169
|
}
|
package/AGENTS.md
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
# opencode database guide
|
|
2
|
-
|
|
3
|
-
## Database
|
|
4
|
-
|
|
5
|
-
- **Schema**: Drizzle schema lives in `packages/core/src/**/*.sql.ts`.
|
|
6
|
-
- **Migrations**: database migrations live in `packages/core` and are applied by core.
|
|
7
|
-
|
|
8
|
-
## Development server
|
|
9
|
-
|
|
10
|
-
- Running `Run `bun dev` from `packages/opencode` to start the live interactive TUI. Do not run it as a blocking foreground command when you need to inspect the result.. Do not run it as a blocking foreground command when you need to inspect the result.
|
|
11
|
-
- Start it in `tmux` instead: `tmux new-session -d -s ac-dev 'bun dev'`.
|
|
12
|
-
- Capture the current TUI output with: `tmux capture-pane -pt ac-dev`.
|
|
13
|
-
- Stop the session explicitly when done: `tmux kill-session -t ac-dev`.
|
|
14
|
-
|
|
15
|
-
# Module shape
|
|
16
|
-
|
|
17
|
-
Do not use `export namespace Foo { ... }` for module organization. It is not
|
|
18
|
-
standard ESM, it prevents tree-shaking, and it breaks Node's native TypeScript
|
|
19
|
-
runner. Use flat top-level exports combined with a self-reexport at the bottom
|
|
20
|
-
of the file:
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
// src/foo/foo.ts
|
|
24
|
-
export interface Interface { ... }
|
|
25
|
-
export class Service extends Context.Service<Service, Interface>()("@opencode/Foo") {}
|
|
26
|
-
export const layer = Layer.effect(Service, ...)
|
|
27
|
-
export const defaultLayer = layer.pipe(...)
|
|
28
|
-
|
|
29
|
-
export * as Foo from "./foo"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Consumers import the namespace projection:
|
|
33
|
-
|
|
34
|
-
```ts
|
|
35
|
-
import { Foo } from "@/foo/foo"
|
|
36
|
-
|
|
37
|
-
yield * Foo.Service
|
|
38
|
-
Foo.layer
|
|
39
|
-
Foo.defaultLayer
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Namespace-private helpers stay as non-exported top-level declarations in the
|
|
43
|
-
same file — they remain inaccessible to consumers (they are not projected by
|
|
44
|
-
`export * as`) but are usable by the file's own code.
|
|
45
|
-
|
|
46
|
-
## When the file is an `index.ts`
|
|
47
|
-
|
|
48
|
-
If the module is `foo/index.ts` (single-namespace directory), use `"."` for
|
|
49
|
-
the self-reexport source rather than `"./index"`:
|
|
50
|
-
|
|
51
|
-
```ts
|
|
52
|
-
// src/foo/index.ts
|
|
53
|
-
export const thing = ...
|
|
54
|
-
|
|
55
|
-
export * as Foo from "."
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Multi-sibling directories
|
|
59
|
-
|
|
60
|
-
For directories with several independent modules (e.g. `src/session/`,
|
|
61
|
-
`src/config/`), keep each sibling as its own file with its own self-reexport,
|
|
62
|
-
and do not add a barrel `index.ts`. Consumers import the specific sibling:
|
|
63
|
-
|
|
64
|
-
```ts
|
|
65
|
-
import { SessionRetry } from "@/session/retry"
|
|
66
|
-
import { SessionStatus } from "@/session/status"
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Barrels in multi-sibling directories force every import through the barrel to
|
|
70
|
-
evaluate every sibling, which defeats tree-shaking and slows module load.
|
|
71
|
-
|
|
72
|
-
# opencode Effect rules
|
|
73
|
-
|
|
74
|
-
Use these rules when writing or migrating Effect code.
|
|
75
|
-
|
|
76
|
-
See `specs/effect/migration.md` for the compact pattern reference and examples.
|
|
77
|
-
|
|
78
|
-
## Core
|
|
79
|
-
|
|
80
|
-
- Use `Effect.gen(function* () { ... })` for composition.
|
|
81
|
-
- Use `Effect.fn("Domain.method")` for named/traced effects and `Effect.fnUntraced` for internal helpers.
|
|
82
|
-
- `Effect.fn` / `Effect.fnUntraced` accept pipeable operators as extra arguments, so avoid unnecessary outer `.pipe()` wrappers.
|
|
83
|
-
- Use `Effect.callback` for callback-based APIs.
|
|
84
|
-
- Use `Effect.void` instead of `Effect.succeed(undefined)` or `Effect.succeed(void 0)`.
|
|
85
|
-
- Prefer `DateTime.nowAsDate` over `new Date(yield* Clock.currentTimeMillis)` when you need a `Date`.
|
|
86
|
-
|
|
87
|
-
## Module conventions
|
|
88
|
-
|
|
89
|
-
- In `src/config`, follow the existing self-export pattern at the top of the file (for example `export * as ConfigAgent from "./agent"`) when adding a new config module.
|
|
90
|
-
|
|
91
|
-
## Schemas and errors
|
|
92
|
-
|
|
93
|
-
- Use `Schema.Class` for multi-field data.
|
|
94
|
-
- Use branded schemas (`Schema.brand`) for single-value types.
|
|
95
|
-
- Use `Schema.TaggedErrorClass` for typed errors.
|
|
96
|
-
- Use `Schema.Defect` instead of `unknown` for defect-like causes.
|
|
97
|
-
- In `Effect.gen` / `Effect.fn`, prefer `yield* new MyError(...)` over `yield* Effect.fail(new MyError(...))` for direct early-failure branches.
|
|
98
|
-
|
|
99
|
-
## Runtime vs InstanceState
|
|
100
|
-
|
|
101
|
-
- Use `makeRuntime` (from `src/effect/run-service.ts`) for all services. It returns `{ runPromise, runFork, runCallback }` backed by a shared `memoMap` that deduplicates layers.
|
|
102
|
-
- Use `InstanceState` (from `src/effect/instance-state.ts`) for per-directory or per-project state that needs per-instance cleanup. It uses `ScopedCache` keyed by directory — each open project gets its own state, automatically cleaned up on disposal.
|
|
103
|
-
- If two open directories should not share one copy of the service, it needs `InstanceState`.
|
|
104
|
-
- Do the work directly in the `InstanceState.make` closure — `ScopedCache` handles run-once semantics. Don't add fibers, `ensure()` callbacks, or `started` flags on top.
|
|
105
|
-
- Use `Effect.addFinalizer` or `Effect.acquireRelease` inside the `InstanceState.make` closure for cleanup (subscriptions, process teardown, etc.).
|
|
106
|
-
- Use `Effect.forkScoped` inside the closure for background stream consumers — the fiber is interrupted when the instance is disposed.
|
|
107
|
-
- To make a service's `init()` non-blocking, fork `InstanceState.get(state)` at the `init()` call site (e.g. `Effect.forkIn(scope)`), not by forking work inside the `InstanceState.make` closure. Forking inside the closure leaves state incomplete for other methods that read it.
|
|
108
|
-
- `src/project/bootstrap.ts` already wraps every service `init()` in `Effect.forkDetach`, so `init()` is fire-and-forget in production. Keep `init()` methods synchronous internally; the caller controls concurrency.
|
|
109
|
-
|
|
110
|
-
## Effect v4 beta API
|
|
111
|
-
|
|
112
|
-
- `Effect.fork` and `Effect.forkDaemon` do not exist. Use `Effect.forkIn(scope)` to fork a fiber into a specific scope.
|
|
113
|
-
|
|
114
|
-
## Preferred Effect services
|
|
115
|
-
|
|
116
|
-
- In effectified services, prefer yielding existing Effect services over dropping down to ad hoc platform APIs.
|
|
117
|
-
- Prefer `FileSystem.FileSystem` instead of raw `fs/promises` for effectful file I/O.
|
|
118
|
-
- Prefer `ChildProcessSpawner.ChildProcessSpawner` with `ChildProcess.make(...)` instead of custom process wrappers.
|
|
119
|
-
- Prefer `HttpClient.HttpClient` instead of raw `fetch`.
|
|
120
|
-
- Prefer `Path.Path`, `Config`, `Clock`, and `DateTime` when those concerns are already inside Effect code.
|
|
121
|
-
- For background loops or scheduled tasks, use `Effect.repeat` or `Effect.schedule` with `Effect.forkScoped` in the layer definition.
|
|
122
|
-
|
|
123
|
-
## Effect.cached for deduplication
|
|
124
|
-
|
|
125
|
-
Use `Effect.cached` when multiple concurrent callers should share a single in-flight computation rather than storing `Fiber | undefined` or `Promise | undefined` manually. See `specs/effect/migration.md` for the full pattern.
|
|
126
|
-
|
|
127
|
-
## Callback boundaries
|
|
128
|
-
|
|
129
|
-
Use `EffectBridge` for native or external callbacks (`@parcel/watcher`, `node-pty`, native `fs.watch`, plugin callbacks, etc.) that need to re-enter Effect services with instance/workspace context.
|
|
130
|
-
|
|
131
|
-
Plain async code should pass explicit context or stay inside an Effect fiber; do not add ambient instance context shims.
|
package/Dockerfile
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
FROM alpine AS base
|
|
2
|
-
|
|
3
|
-
# Disable the runtime transpiler cache by default inside Docker containers.
|
|
4
|
-
# On ephemeral containers, the cache is not useful
|
|
5
|
-
ARG BUN_RUNTIME_TRANSPILER_CACHE_PATH=0
|
|
6
|
-
ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=${BUN_RUNTIME_TRANSPILER_CACHE_PATH}
|
|
7
|
-
RUN apk add libgcc libstdc++ ripgrep
|
|
8
|
-
|
|
9
|
-
FROM base AS build-amd64
|
|
10
|
-
COPY dist/ac-linux-x64-baseline-musl/bin/ac /usr/local/bin/ac
|
|
11
|
-
|
|
12
|
-
FROM base AS build-arm64
|
|
13
|
-
COPY dist/ac-linux-arm64-musl/bin/ac /usr/local/bin/ac
|
|
14
|
-
|
|
15
|
-
ARG TARGETARCH
|
|
16
|
-
FROM build-${TARGETARCH}
|
|
17
|
-
RUN ac --version
|
|
18
|
-
ENTRYPOINT ["ac"]
|
package/bunfig.toml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
preload = ["@opentui/solid/preload"]
|
|
2
|
-
|
|
3
|
-
[test]
|
|
4
|
-
preload = ["@opentui/solid/preload", "./test/preload.ts"]
|
|
5
|
-
# timeout is not actually parsed from bunfig.toml (see src/bunfig.zig in oven-sh/bun)
|
|
6
|
-
# using --timeout in package.json scripts instead
|
|
7
|
-
# https://github.com/oven-sh/bun/issues/7789
|
package/git
DELETED
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ALTER TABLE `session` ADD `metadata` text;
|