@animalabs/agent-framework 0.22.1 → 0.22.2
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/README.md +1 -1
- package/dist/src/agent.d.ts +192 -19
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +404 -65
- package/dist/src/agent.js.map +1 -1
- package/dist/src/api/mcp-server-core.d.ts +41 -0
- package/dist/src/api/mcp-server-core.d.ts.map +1 -0
- package/dist/src/api/mcp-server-core.js +593 -0
- package/dist/src/api/mcp-server-core.js.map +1 -0
- package/dist/src/api/mcp-server.d.ts +2 -36
- package/dist/src/api/mcp-server.d.ts.map +1 -1
- package/dist/src/api/mcp-server.js +15 -595
- package/dist/src/api/mcp-server.js.map +1 -1
- package/dist/src/api/server.d.ts +9 -1
- package/dist/src/api/server.d.ts.map +1 -1
- package/dist/src/api/server.js +50 -26
- package/dist/src/api/server.js.map +1 -1
- package/dist/src/api/types.d.ts +9 -1
- package/dist/src/api/types.d.ts.map +1 -1
- package/dist/src/code-execution/py-runner.d.ts.map +1 -1
- package/dist/src/code-execution/py-runner.js.map +1 -1
- package/dist/src/framework.d.ts +393 -113
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +1748 -582
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/gate-script.d.ts.map +1 -1
- package/dist/src/gate/gate-script.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcpl/capability-grant.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.d.ts +26 -7
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +102 -22
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.js.map +1 -1
- package/dist/src/mcpl/conversation-router.d.ts.map +1 -1
- package/dist/src/mcpl/errors.js.map +1 -1
- package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -1
- package/dist/src/mcpl/feature-set-manager.js +4 -3
- package/dist/src/mcpl/feature-set-manager.js.map +1 -1
- package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
- package/dist/src/mcpl/inference-router.d.ts.map +1 -1
- package/dist/src/mcpl/log-value.d.ts +54 -0
- package/dist/src/mcpl/log-value.d.ts.map +1 -0
- package/dist/src/mcpl/log-value.js +109 -0
- package/dist/src/mcpl/log-value.js.map +1 -0
- package/dist/src/mcpl/prose-stream-router.d.ts +6 -6
- package/dist/src/mcpl/prose-stream-router.d.ts.map +1 -1
- package/dist/src/mcpl/prose-stream-router.js +4 -4
- package/dist/src/mcpl/prose-stream-router.js.map +1 -1
- package/dist/src/mcpl/push-coalescer.d.ts +38 -3
- package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
- package/dist/src/mcpl/push-coalescer.js +81 -16
- package/dist/src/mcpl/push-coalescer.js.map +1 -1
- package/dist/src/mcpl/push-handler.d.ts +26 -3
- package/dist/src/mcpl/push-handler.d.ts.map +1 -1
- package/dist/src/mcpl/push-handler.js +87 -23
- package/dist/src/mcpl/push-handler.js.map +1 -1
- package/dist/src/mcpl/reference-fetcher.d.ts.map +1 -1
- package/dist/src/mcpl/reference-fetcher.js.map +1 -1
- package/dist/src/mcpl/references.d.ts +2 -2
- package/dist/src/mcpl/references.d.ts.map +1 -1
- package/dist/src/mcpl/references.js.map +1 -1
- package/dist/src/mcpl/refusal-lines.d.ts +37 -0
- package/dist/src/mcpl/refusal-lines.d.ts.map +1 -0
- package/dist/src/mcpl/refusal-lines.js +61 -0
- package/dist/src/mcpl/refusal-lines.js.map +1 -0
- package/dist/src/mcpl/scope-manager.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +18 -2
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +66 -11
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/mcpl/server-registry.d.ts.map +1 -1
- package/dist/src/mcpl/tool-classes.d.ts +1 -1
- package/dist/src/mcpl/tool-classes.d.ts.map +1 -1
- package/dist/src/mcpl/tool-classes.js +3 -2
- package/dist/src/mcpl/tool-classes.js.map +1 -1
- package/dist/src/mcpl/tool-lifecycle.d.ts.map +1 -1
- package/dist/src/mcpl/tool-lifecycle.js.map +1 -1
- package/dist/src/mcpl/transport.d.ts +23 -5
- package/dist/src/mcpl/transport.d.ts.map +1 -1
- package/dist/src/mcpl/transport.js +103 -10
- package/dist/src/mcpl/transport.js.map +1 -1
- package/dist/src/mcpl/types.d.ts +30 -26
- package/dist/src/mcpl/types.d.ts.map +1 -1
- package/dist/src/mcpl/types.js.map +1 -1
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/modules/api/index.d.ts.map +1 -1
- package/dist/src/modules/discord/discord-js-client.d.ts.map +1 -1
- package/dist/src/modules/discord/discord-js-client.js.map +1 -1
- package/dist/src/modules/discord/index.d.ts.map +1 -1
- package/dist/src/modules/discord/index.js +4 -2
- package/dist/src/modules/discord/index.js.map +1 -1
- package/dist/src/modules/health/index.d.ts.map +1 -1
- package/dist/src/modules/health/index.js.map +1 -1
- package/dist/src/modules/history/index.d.ts.map +1 -1
- package/dist/src/modules/history/index.js.map +1 -1
- package/dist/src/modules/history/semantic.d.ts.map +1 -1
- package/dist/src/modules/history/semantic.js.map +1 -1
- package/dist/src/modules/workspace/branch-intent.d.ts.map +1 -1
- package/dist/src/modules/workspace/branch-intent.js.map +1 -1
- package/dist/src/modules/workspace/disk-agreement.d.ts +22 -4
- package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
- package/dist/src/modules/workspace/disk-agreement.js +63 -25
- package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
- package/dist/src/modules/workspace/effects.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.d.ts +8 -4
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +39 -12
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/modules/workspace/observe.d.ts +43 -8
- package/dist/src/modules/workspace/observe.d.ts.map +1 -1
- package/dist/src/modules/workspace/observe.js +264 -39
- package/dist/src/modules/workspace/observe.js.map +1 -1
- package/dist/src/modules/workspace/reconcile.d.ts +17 -1
- package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
- package/dist/src/modules/workspace/reconcile.js +57 -14
- package/dist/src/modules/workspace/reconcile.js.map +1 -1
- package/dist/src/modules/workspace/types.d.ts +27 -2
- package/dist/src/modules/workspace/types.d.ts.map +1 -1
- package/dist/src/modules/workspace/types.js.map +1 -1
- package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
- package/dist/src/modules/workspace/watcher.js.map +1 -1
- package/dist/src/operator-log.d.ts.map +1 -1
- package/dist/src/operator-log.js.map +1 -1
- package/dist/src/provider-waits.d.ts.map +1 -1
- package/dist/src/provider-waits.js.map +1 -1
- package/dist/src/queue.d.ts.map +1 -1
- package/dist/src/record-journal.d.ts.map +1 -1
- package/dist/src/record-journal.js.map +1 -1
- package/dist/src/recovery/discord-awareness-outbox.d.ts.map +1 -1
- package/dist/src/recovery/discord-awareness-outbox.js.map +1 -1
- package/dist/src/recovery/offline-branch.d.ts.map +1 -1
- package/dist/src/recovery/offline-branch.js +29 -24
- package/dist/src/recovery/offline-branch.js.map +1 -1
- package/dist/src/recovery/recover-cli.js.map +1 -1
- package/dist/src/runtime/liveness-watchdog.d.ts.map +1 -1
- package/dist/src/runtime/liveness-watchdog.js.map +1 -1
- package/dist/src/shutdown.d.ts.map +1 -1
- package/dist/src/shutdown.js.map +1 -1
- package/dist/src/stored-removal.d.ts +73 -0
- package/dist/src/stored-removal.d.ts.map +1 -0
- package/dist/src/stored-removal.js +100 -0
- package/dist/src/stored-removal.js.map +1 -0
- package/dist/src/thinking-token-stamp.js.map +1 -1
- package/dist/src/tool-image-ledger.d.ts.map +1 -1
- package/dist/src/tool-image-ledger.js.map +1 -1
- package/dist/src/tool-presentation.d.ts.map +1 -1
- package/dist/src/tool-presentation.js.map +1 -1
- package/dist/src/tool-result-guard.d.ts.map +1 -1
- package/dist/src/tool-result-guard.js.map +1 -1
- package/dist/src/tune-out/coordinator.d.ts.map +1 -1
- package/dist/src/tune-out/coordinator.js.map +1 -1
- package/dist/src/tune-out/tools.d.ts +1 -1
- package/dist/src/tune-out/tools.d.ts.map +1 -1
- package/dist/src/types/agent.d.ts +42 -6
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +10 -0
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +8 -4
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +61 -10
- package/dist/src/types/trace.d.ts.map +1 -1
- package/dist/src/usage/usage-tracker.d.ts.map +1 -1
- package/dist/test/agent-runtime-settings.test.js +1139 -3
- package/dist/test/agent-runtime-settings.test.js.map +1 -1
- package/dist/test/batched-wake-locus.test.js.map +1 -1
- package/dist/test/channel-label-history.test.js.map +1 -1
- package/dist/test/code-execution.test.js.map +1 -1
- package/dist/test/conversation-fork-injection-scoping.test.js.map +1 -1
- package/dist/test/conversation-router.test.js.map +1 -1
- package/dist/test/conversation-routing.test.js +240 -6
- package/dist/test/conversation-routing.test.js.map +1 -1
- package/dist/test/discord-awareness-outbox.test.js +104 -0
- package/dist/test/discord-awareness-outbox.test.js.map +1 -1
- package/dist/test/discord-typing-keepalive.test.d.ts +2 -0
- package/dist/test/discord-typing-keepalive.test.d.ts.map +1 -0
- package/dist/test/discord-typing-keepalive.test.js +77 -0
- package/dist/test/discord-typing-keepalive.test.js.map +1 -0
- package/dist/test/ephemeral-settle.test.js.map +1 -1
- package/dist/test/event-gate-passthrough.test.js.map +1 -1
- package/dist/test/event-gate-policy-mutation.test.js.map +1 -1
- package/dist/test/event-gate-rate-limit.test.js.map +1 -1
- package/dist/test/event-gate-script.test.js.map +1 -1
- package/dist/test/event-gate-selfwake.test.js.map +1 -1
- package/dist/test/event-gate-tags.test.js.map +1 -1
- package/dist/test/event-gate.test.js.map +1 -1
- package/dist/test/explicit-prose-routing.test.js +363 -42
- package/dist/test/explicit-prose-routing.test.js.map +1 -1
- package/dist/test/framework.test.js.map +1 -1
- package/dist/test/helpers/coalescing-fixture.d.ts +2 -0
- package/dist/test/helpers/coalescing-fixture.d.ts.map +1 -1
- package/dist/test/helpers/coalescing-fixture.js +8 -2
- package/dist/test/helpers/coalescing-fixture.js.map +1 -1
- package/dist/test/helpers/mock-membrane.d.ts.map +1 -1
- package/dist/test/helpers/mock-membrane.js.map +1 -1
- package/dist/test/hide-then-turn.test.d.ts +2 -0
- package/dist/test/hide-then-turn.test.d.ts.map +1 -0
- package/dist/test/hide-then-turn.test.js +101 -0
- package/dist/test/hide-then-turn.test.js.map +1 -0
- package/dist/test/history-module-overview.test.js.map +1 -1
- package/dist/test/history-module-semantic.test.js.map +1 -1
- package/dist/test/history-module.test.js.map +1 -1
- package/dist/test/history-semantic-review-findings.test.js.map +1 -1
- package/dist/test/host-quiesce.test.js +125 -0
- package/dist/test/host-quiesce.test.js.map +1 -1
- package/dist/test/inference-exhaustion-rewind.test.js +81 -3
- package/dist/test/inference-exhaustion-rewind.test.js.map +1 -1
- package/dist/test/inference-failure-bounds.test.js +1 -0
- package/dist/test/inference-failure-bounds.test.js.map +1 -1
- package/dist/test/kv-unified-open-flight-retry.test.js.map +1 -1
- package/dist/test/liveness-watchdog.test.js.map +1 -1
- package/dist/test/maintenance-timer.test.js +1564 -2
- package/dist/test/maintenance-timer.test.js.map +1 -1
- package/dist/test/mcp-server-bin.test.d.ts +2 -0
- package/dist/test/mcp-server-bin.test.d.ts.map +1 -0
- package/dist/test/mcp-server-bin.test.js +142 -0
- package/dist/test/mcp-server-bin.test.js.map +1 -0
- package/dist/test/mcpl-awareness-barrier.test.js.map +1 -1
- package/dist/test/mcpl-child-env.test.js +1 -1
- package/dist/test/mcpl-child-env.test.js.map +1 -1
- package/dist/test/mcpl-coalesced-content-parity.test.d.ts +2 -0
- package/dist/test/mcpl-coalesced-content-parity.test.d.ts.map +1 -0
- package/dist/test/mcpl-coalesced-content-parity.test.js +532 -0
- package/dist/test/mcpl-coalesced-content-parity.test.js.map +1 -0
- package/dist/test/mcpl-coalescing.test.js.map +1 -1
- package/dist/test/mcpl-config-diagnostics.test.js.map +1 -1
- package/dist/test/mcpl-gate-roundtrip.test.js.map +1 -1
- package/dist/test/mcpl-manifest-changed.test.js.map +1 -1
- package/dist/test/mcpl-reconnect-events.test.js.map +1 -1
- package/dist/test/mcpl-reconnect-reregistration.test.js +2 -0
- package/dist/test/mcpl-reconnect-reregistration.test.js.map +1 -1
- package/dist/test/mcpl-reference-fetcher.test.js.map +1 -1
- package/dist/test/mcpl-reference-fields.test.js.map +1 -1
- package/dist/test/mcpl-rejection-log-lines.test.d.ts +2 -0
- package/dist/test/mcpl-rejection-log-lines.test.d.ts.map +1 -0
- package/dist/test/mcpl-rejection-log-lines.test.js +349 -0
- package/dist/test/mcpl-rejection-log-lines.test.js.map +1 -0
- package/dist/test/mcpl-stderr-tail.test.d.ts +2 -0
- package/dist/test/mcpl-stderr-tail.test.d.ts.map +1 -0
- package/dist/test/mcpl-stderr-tail.test.js +210 -0
- package/dist/test/mcpl-stderr-tail.test.js.map +1 -0
- package/dist/test/mcpl-tool-lifecycle-e2e.test.js.map +1 -1
- package/dist/test/mcpl-tool-lifecycle-emitter.test.js.map +1 -1
- package/dist/test/mcpl-tool-lifecycle-script.test.js.map +1 -1
- package/dist/test/mcpl-tool-lifecycle.test.js.map +1 -1
- package/dist/test/mcpl-transport-close.test.d.ts +2 -0
- package/dist/test/mcpl-transport-close.test.d.ts.map +1 -0
- package/dist/test/mcpl-transport-close.test.js +373 -0
- package/dist/test/mcpl-transport-close.test.js.map +1 -0
- package/dist/test/mcpl-transport-spawn.test.d.ts +2 -0
- package/dist/test/mcpl-transport-spawn.test.d.ts.map +1 -0
- package/dist/test/mcpl-transport-spawn.test.js +58 -0
- package/dist/test/mcpl-transport-spawn.test.js.map +1 -0
- package/dist/test/mcpl-ws-transport.test.js +1 -0
- package/dist/test/mcpl-ws-transport.test.js.map +1 -1
- package/dist/test/offline-recovery-branch.test.js +344 -0
- package/dist/test/offline-recovery-branch.test.js.map +1 -1
- package/dist/test/operator-surgery.test.js +197 -0
- package/dist/test/operator-surgery.test.js.map +1 -1
- package/dist/test/overbudget-drain-breaker.test.js +1 -0
- package/dist/test/overbudget-drain-breaker.test.js.map +1 -1
- package/dist/test/pack-installs-alone.test.d.ts +2 -0
- package/dist/test/pack-installs-alone.test.d.ts.map +1 -0
- package/dist/test/pack-installs-alone.test.js +284 -0
- package/dist/test/pack-installs-alone.test.js.map +1 -0
- package/dist/test/physical-window-restart.test.d.ts +6 -4
- package/dist/test/physical-window-restart.test.d.ts.map +1 -1
- package/dist/test/physical-window-restart.test.js +275 -10
- package/dist/test/physical-window-restart.test.js.map +1 -1
- package/dist/test/placed-reaction-baseline.test.js.map +1 -1
- package/dist/test/present-while-acting.test.js +949 -6
- package/dist/test/present-while-acting.test.js.map +1 -1
- package/dist/test/provider-acceleration-cooldown.test.js.map +1 -1
- package/dist/test/provider-waits.test.js +67 -4
- package/dist/test/provider-waits.test.js.map +1 -1
- package/dist/test/puppet-tool-call.test.js +2 -0
- package/dist/test/puppet-tool-call.test.js.map +1 -1
- package/dist/test/reaction-baseline-platform.test.js.map +1 -1
- package/dist/test/record-journal.test.js.map +1 -1
- package/dist/test/refusal-rewind.test.js +9 -0
- package/dist/test/refusal-rewind.test.js.map +1 -1
- package/dist/test/refusal-single-call.test.js.map +1 -1
- package/dist/test/release-bump.test.d.ts +2 -0
- package/dist/test/release-bump.test.d.ts.map +1 -0
- package/dist/test/release-bump.test.js +248 -0
- package/dist/test/release-bump.test.js.map +1 -0
- package/dist/test/release-changelog.test.js.map +1 -1
- package/dist/test/release-holds.test.d.ts +2 -0
- package/dist/test/release-holds.test.d.ts.map +1 -0
- package/dist/test/release-holds.test.js +456 -0
- package/dist/test/release-holds.test.js.map +1 -0
- package/dist/test/same-round-think-policy.test.js.map +1 -1
- package/dist/test/shutdown-errors.test.js.map +1 -1
- package/dist/test/silent-heartbeat-rows.test.js.map +1 -1
- package/dist/test/stop-with-host-operations.test.d.ts +20 -0
- package/dist/test/stop-with-host-operations.test.d.ts.map +1 -0
- package/dist/test/stop-with-host-operations.test.js +1174 -0
- package/dist/test/stop-with-host-operations.test.js.map +1 -0
- package/dist/test/stop-with-work-in-flight.test.js +162 -50
- package/dist/test/stop-with-work-in-flight.test.js.map +1 -1
- package/dist/test/surgery-marks-receipt.test.js.map +1 -1
- package/dist/test/tool-batch-hook.test.js.map +1 -1
- package/dist/test/tool-result-guard.test.js +131 -9
- package/dist/test/tool-result-guard.test.js.map +1 -1
- package/dist/test/tool-result-spill.test.js.map +1 -1
- package/dist/test/tool-wrapper-prose-guard-integration.test.js.map +1 -1
- package/dist/test/trunk-channel-routing.test.js +330 -7
- package/dist/test/trunk-channel-routing.test.js.map +1 -1
- package/dist/test/tune-out-e2e.test.js.map +1 -1
- package/dist/test/unconvertible-tool-result.test.js.map +1 -1
- package/dist/test/unsent-compiles.test.d.ts +2 -0
- package/dist/test/unsent-compiles.test.d.ts.map +1 -0
- package/dist/test/unsent-compiles.test.js +139 -0
- package/dist/test/unsent-compiles.test.js.map +1 -0
- package/dist/test/workspace-branch-continuation.test.js.map +1 -1
- package/dist/test/workspace-materialize-freshness.test.js.map +1 -1
- package/dist/test/workspace-read-text.test.js.map +1 -1
- package/dist/test/workspace-three-way.test.js +907 -7
- package/dist/test/workspace-three-way.test.js.map +1 -1
- package/dist/test/workspace-watcher.test.js.map +1 -1
- package/dist/test/xml-round-persist.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -6
- package/src/agent.ts +411 -66
- package/src/api/mcp-server-core.ts +681 -0
- package/src/api/mcp-server.ts +16 -685
- package/src/api/server.ts +51 -29
- package/src/api/types.ts +9 -1
- package/src/framework.ts +1899 -641
- package/src/index.ts +2 -2
- package/src/mcpl/channel-registry.ts +126 -31
- package/src/mcpl/feature-set-manager.ts +4 -3
- package/src/mcpl/log-value.ts +116 -0
- package/src/mcpl/prose-stream-router.ts +6 -6
- package/src/mcpl/push-coalescer.ts +76 -12
- package/src/mcpl/push-handler.ts +95 -23
- package/src/mcpl/refusal-lines.ts +59 -0
- package/src/mcpl/server-connection.ts +70 -11
- package/src/mcpl/tool-classes.ts +3 -2
- package/src/mcpl/transport.ts +105 -14
- package/src/mcpl/types.ts +5 -1
- package/src/modules/discord/index.ts +4 -2
- package/src/modules/workspace/disk-agreement.ts +74 -18
- package/src/modules/workspace/index.ts +41 -11
- package/src/modules/workspace/observe.ts +265 -39
- package/src/modules/workspace/reconcile.ts +71 -14
- package/src/modules/workspace/types.ts +26 -1
- package/src/recovery/offline-branch.ts +32 -28
- package/src/stored-removal.ts +126 -0
- package/src/types/agent.ts +42 -6
- package/src/types/framework.ts +10 -0
- package/src/types/module.ts +8 -4
- package/src/types/trace.ts +62 -11
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
// Black-box coverage of scripts/pack-installs-alone.mjs: each case runs the
|
|
2
|
+
// real script in a throwaway package whose dependencies, if any, are local
|
|
3
|
+
// tarballs, so npm packs and installs it offline, with its own cache and
|
|
4
|
+
// user config. A `bun` shim in front of PATH decides whether bun is there:
|
|
5
|
+
// by default it isn't; BUN_BY_NODE stands bun in with Node under the `bun`
|
|
6
|
+
// condition, so a bun target loads as bun would load it.
|
|
7
|
+
import { after, test } from "node:test";
|
|
8
|
+
import assert from "node:assert/strict";
|
|
9
|
+
import { execFile, execFileSync } from "node:child_process";
|
|
10
|
+
import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
11
|
+
import { tmpdir } from "node:os";
|
|
12
|
+
import { dirname, join } from "node:path";
|
|
13
|
+
import { fileURLToPath } from "node:url";
|
|
14
|
+
const SCRIPT = fileURLToPath(new URL("../../scripts/pack-installs-alone.mjs", import.meta.url));
|
|
15
|
+
const made = [];
|
|
16
|
+
after(() => {
|
|
17
|
+
for (const dir of made)
|
|
18
|
+
rmSync(dir, { recursive: true, force: true });
|
|
19
|
+
});
|
|
20
|
+
/** A throwaway package: package.json from `pkg`, and `files` (path to text). */
|
|
21
|
+
function fixture(pkg, files) {
|
|
22
|
+
const dir = mkdtempSync(join(tmpdir(), "pack-installs-alone-test-"));
|
|
23
|
+
made.push(dir);
|
|
24
|
+
writeFileSync(join(dir, "package.json"), JSON.stringify({ name: "@zz/fixture", version: "1.0.0", type: "module", ...pkg }));
|
|
25
|
+
for (const [path, text] of Object.entries(files)) {
|
|
26
|
+
mkdirSync(dirname(join(dir, path)), { recursive: true });
|
|
27
|
+
writeFileSync(join(dir, path), text);
|
|
28
|
+
}
|
|
29
|
+
return dir;
|
|
30
|
+
}
|
|
31
|
+
/** A directory holding one executable `name` with `text`. */
|
|
32
|
+
function shim(name, text) {
|
|
33
|
+
const dir = mkdtempSync(join(tmpdir(), "pack-installs-alone-shim-"));
|
|
34
|
+
made.push(dir);
|
|
35
|
+
writeFileSync(join(dir, name), text, { mode: 0o755 });
|
|
36
|
+
return dir;
|
|
37
|
+
}
|
|
38
|
+
const NO_BUN = shim("bun", "#!/bin/sh\nexit 127\n");
|
|
39
|
+
const BUN_BY_NODE = shim("bun", `#!/bin/sh\n[ "$1" = --version ] && { echo 0.0.0-node; exit 0; }\n[ "$1" = -e ] && exec ${JSON.stringify(process.execPath)} --conditions=bun --input-type=module -e "$2"\nexit 2\n`);
|
|
40
|
+
function check(dir, bun = NO_BUN, extraPath = "") {
|
|
41
|
+
// npm's home and cache, outside the package, so npm pack doesn't take them in.
|
|
42
|
+
const home = mkdtempSync(join(tmpdir(), "pack-installs-alone-home-"));
|
|
43
|
+
made.push(home);
|
|
44
|
+
const env = {
|
|
45
|
+
PATH: `${extraPath}${bun}:${process.env.PATH ?? ""}`,
|
|
46
|
+
HOME: home,
|
|
47
|
+
npm_config_cache: join(home, ".npm-cache"),
|
|
48
|
+
npm_config_userconfig: join(home, ".npmrc"),
|
|
49
|
+
npm_config_offline: "true",
|
|
50
|
+
npm_config_update_notifier: "false",
|
|
51
|
+
};
|
|
52
|
+
return new Promise((resolve) => {
|
|
53
|
+
execFile(process.execPath, [SCRIPT], { cwd: dir, env }, (error, stdout, stderr) => {
|
|
54
|
+
resolve({ code: error ? Number(error.code ?? 1) : 0, stdout, stderr });
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
const ENTRY = { "dist/index.js": "export const ok = true;\n", "dist/extra.js": "export const extra = true;\n" };
|
|
59
|
+
const NODE_BIN = "#!/usr/bin/env node\nthrow new Error('zz-serve ran');\n";
|
|
60
|
+
test("a package whose files carry everything it names installs alone, and each entry point loads", async () => {
|
|
61
|
+
const dir = fixture({
|
|
62
|
+
files: ["dist", "src"],
|
|
63
|
+
exports: {
|
|
64
|
+
".": { bun: "./src/index.ts", types: "./dist/index.d.ts", import: "./dist/index.js" },
|
|
65
|
+
"./extra": "./dist/extra.js",
|
|
66
|
+
"./package.json": "./package.json",
|
|
67
|
+
"./legacy": { require: "./dist/legacy.cjs" },
|
|
68
|
+
"./dual": { import: "./dist/index.js", require: "./dist/legacy.cjs" },
|
|
69
|
+
"./types": { types: "./dist/types.d.ts" },
|
|
70
|
+
"./internal": null,
|
|
71
|
+
"./parts/*": "./dist/*.js",
|
|
72
|
+
},
|
|
73
|
+
bin: { "zz-serve": "./dist/serve.js", "zz-shell": "./dist/shell.sh" },
|
|
74
|
+
}, {
|
|
75
|
+
...ENTRY,
|
|
76
|
+
"src/index.ts": "export const ok = true;\n",
|
|
77
|
+
"dist/index.d.ts": "export declare const ok: boolean;\n",
|
|
78
|
+
"dist/types.d.ts": "export type T = 1;\n",
|
|
79
|
+
"dist/legacy.cjs": "module.exports = { legacy: true };\n",
|
|
80
|
+
"dist/serve.js": NODE_BIN,
|
|
81
|
+
"dist/shell.sh": "#!/bin/sh\necho zz-shell\n",
|
|
82
|
+
});
|
|
83
|
+
const result = await check(dir);
|
|
84
|
+
assert.equal(result.code, 0, result.stderr);
|
|
85
|
+
assert.doesNotMatch(result.stderr, /zz-serve ran/, "a bin is never run");
|
|
86
|
+
assert.match(result.stdout, /^zz-fixture-1\.0\.0\.tgz \(\d+ files\) installs on its own; every file package\.json's main, types, exports and bin name is in it; loaded '@zz\/fixture' \(import\), '@zz\/fixture\/extra' \(import\), '@zz\/fixture\/package\.json' \(import json\), '@zz\/fixture\/legacy' \(require\), '@zz\/fixture\/dual' \(import\), '@zz\/fixture\/dual' \(require\); bun targets present, not loaded \(bun isn't on PATH\): '@zz\/fixture'; bins start with '#!': zz-serve, zz-shell; ES module bins' static imports load: zz-serve; bins whose '#!' line names no node, not loaded: zz-shell; export patterns matched, not loaded: \.\/parts\/\*\.\n$/m);
|
|
87
|
+
});
|
|
88
|
+
test("a string exports, an exports of conditions, an exports array, and main without exports each load as the root", async () => {
|
|
89
|
+
for (const pkg of [
|
|
90
|
+
{ files: ["dist"], exports: "./dist/index.js" },
|
|
91
|
+
{ files: ["dist"], exports: { import: "./dist/index.js", default: "./dist/index.js" } },
|
|
92
|
+
{ files: ["dist"], exports: ["./dist/index.js"] },
|
|
93
|
+
{ files: ["dist"], main: "./dist/index.js" },
|
|
94
|
+
]) {
|
|
95
|
+
const result = await check(fixture(pkg, ENTRY));
|
|
96
|
+
assert.equal(result.code, 0, result.stderr);
|
|
97
|
+
assert.match(result.stdout, /; loaded '@zz\/fixture' \(import\)\.\n$/m, JSON.stringify(pkg));
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
test("a pattern whose target repeats '*', an import blocked by null beside a require, and a JSON main each pass", async () => {
|
|
101
|
+
const repeated = await check(fixture({ files: ["dist"], exports: { ".": "./dist/index.js", "./parts/*": "./dist/*/*.js" } }, { ...ENTRY, "dist/a/a.js": "export const a = 1;\n" }));
|
|
102
|
+
assert.equal(repeated.code, 0, repeated.stderr);
|
|
103
|
+
assert.match(repeated.stdout, /; export patterns matched, not loaded: \.\/parts\/\*\.\n$/m);
|
|
104
|
+
// Node stops at the null that `import` reaches, so a consumer can only require it.
|
|
105
|
+
const blocked = await check(fixture({ files: ["dist"], exports: { ".": { import: null, require: "./dist/legacy.cjs", default: "./dist/index.js" } } }, { ...ENTRY, "dist/legacy.cjs": "module.exports = { legacy: true };\n" }));
|
|
106
|
+
assert.equal(blocked.code, 0, blocked.stderr);
|
|
107
|
+
assert.match(blocked.stdout, /; loaded '@zz\/fixture' \(require\)\.\n$/m);
|
|
108
|
+
const json = await check(fixture({ files: ["data.json"], main: "./data.json" }, { "data.json": '{"ok":true}\n' }));
|
|
109
|
+
assert.equal(json.code, 0, json.stderr);
|
|
110
|
+
assert.match(json.stdout, /; loaded '@zz\/fixture' \(import json\)\.\n$/m);
|
|
111
|
+
});
|
|
112
|
+
test("with neither exports nor main, the root is loaded from its index.js, and a bin-only package loads nothing", async () => {
|
|
113
|
+
const fallback = await check(fixture({}, { "index.js": "export const ok = true;\n" }));
|
|
114
|
+
assert.equal(fallback.code, 0, fallback.stderr);
|
|
115
|
+
assert.match(fallback.stdout, /; loaded '@zz\/fixture' \(import\)\.\n$/m);
|
|
116
|
+
const binOnly = await check(fixture({ files: ["dist"], bin: "./dist/serve.js" }, { "dist/serve.js": NODE_BIN }));
|
|
117
|
+
assert.equal(binOnly.code, 0, binOnly.stderr);
|
|
118
|
+
assert.match(binOnly.stdout, /installs on its own; every file package\.json's main, types, exports and bin name is in it; bins start with '#!': fixture; ES module bins' static imports load: fixture\.\n$/m);
|
|
119
|
+
});
|
|
120
|
+
test("a tree that hasn't been built, or a main beside exports that names no file, says so before packing", async () => {
|
|
121
|
+
const main = await check(fixture({ files: ["dist"], main: "./dist/gone.js", exports: "./dist/index.js" }, ENTRY));
|
|
122
|
+
assert.equal(main.code, 1);
|
|
123
|
+
assert.match(main.stderr, /^pack-installs-alone: \.\/dist\/gone\.js \(main\) doesn't exist in this tree/);
|
|
124
|
+
const result = await check(fixture({ files: ["dist"], exports: { ".": "./dist/index.js" }, bin: { "zz-serve": "./dist/serve.js" } }, {}));
|
|
125
|
+
assert.equal(result.code, 1);
|
|
126
|
+
assert.equal(result.stderr, "pack-installs-alone: ./dist/index.js (exports['.']), ./dist/serve.js (bin 'zz-serve') don't exist in this tree, so there is nothing to pack yet: build first (npm run build), or correct what names it.\n");
|
|
127
|
+
});
|
|
128
|
+
test("a file the package names but leaves out of files fails, under any condition", async () => {
|
|
129
|
+
const cases = [
|
|
130
|
+
// the bun and types targets of the root, which no import() reads
|
|
131
|
+
[{ files: ["dist"], exports: { ".": { bun: "./src/index.ts", import: "./dist/index.js" } } }, { ...ENTRY, "src/index.ts": "" }, /\.\/src\/index\.ts \(exports\['\.'\]\) isn't in zz-fixture-1\.0\.0\.tgz: add it to package\.json's `files`\./],
|
|
132
|
+
[{ files: ["dist/index.js"], types: "./dist/index.d.ts", exports: "./dist/index.js" }, { ...ENTRY, "dist/index.d.ts": "" }, /\.\/dist\/index\.d\.ts \(types\) isn't in/],
|
|
133
|
+
[{ files: ["dist/index.js"], typings: "./dist/index.d.ts", exports: "./dist/index.js" }, { ...ENTRY, "dist/index.d.ts": "" }, /\.\/dist\/index\.d\.ts \(typings\) isn't in/],
|
|
134
|
+
// a pattern that matches nothing packed
|
|
135
|
+
[{ files: ["dist/index.js"], exports: { ".": "./dist/index.js", "./parts/*": "./parts/*.js" } }, { ...ENTRY, "parts/a.js": "" }, /\.\/parts\/\*\.js \(exports\['\.\/parts\/\*'\], a pattern no packed file matches\) isn't in/],
|
|
136
|
+
];
|
|
137
|
+
for (const [pkg, files, message] of cases) {
|
|
138
|
+
const result = await check(fixture(pkg, files));
|
|
139
|
+
assert.equal(result.code, 1, JSON.stringify(pkg));
|
|
140
|
+
assert.match(result.stderr, message);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
test("an entry point that doesn't load fails, naming it: a devDependencies-only import, or a subpath's", async () => {
|
|
144
|
+
const devOnly = await check(fixture({ files: ["dist"], main: "./dist/index.js", devDependencies: { "zz-dev-only": "1.0.0" } }, { "dist/index.js": "import 'zz-dev-only';\nexport const ok = true;\n" }));
|
|
145
|
+
assert.equal(devOnly.code, 1);
|
|
146
|
+
assert.match(devOnly.stderr, /Cannot find package 'zz-dev-only'/);
|
|
147
|
+
assert.match(devOnly.stderr, /pack-installs-alone: loading '@zz\/fixture' \(import\) from the installed zz-fixture-1\.0\.0\.tgz failed \(above\)\. A dependency only devDependencies supplied does that, as does a file it imports that the package leaves out, or a dependency's new release \(rerun this on main to tell\)\.\n$/);
|
|
148
|
+
const subpath = await check(fixture({ files: ["dist"], exports: { ".": "./dist/index.js", "./extra": "./dist/extra.js" } }, { ...ENTRY, "dist/extra.js": "import './left-out.js';\n" }));
|
|
149
|
+
assert.equal(subpath.code, 1);
|
|
150
|
+
assert.match(subpath.stderr, /pack-installs-alone: loading '@zz\/fixture\/extra' \(import\) from the installed/);
|
|
151
|
+
});
|
|
152
|
+
test("a bin needs a '#!' line, and a node bin's imports must load; none is run", async () => {
|
|
153
|
+
const noShebang = await check(fixture({ files: ["dist"], main: "./dist/index.js", bin: { "zz-serve": "./dist/serve.js" } }, {
|
|
154
|
+
...ENTRY, "dist/serve.js": "/**\n * no shebang\n */\nexport {};\n",
|
|
155
|
+
}));
|
|
156
|
+
assert.equal(noShebang.code, 1);
|
|
157
|
+
assert.equal(noShebang.stderr, "pack-installs-alone: bin 'zz-serve' (./dist/serve.js) has no '#!' line, so npm's link can't run it as a command: start its source with '#!/usr/bin/env node'.\n");
|
|
158
|
+
const unparsed = await check(fixture({ files: ["dist"], main: "./dist/index.js", bin: "./dist/serve.js" }, {
|
|
159
|
+
...ENTRY, "dist/serve.js": "#!/usr/bin/env node\nexport const = ;\n",
|
|
160
|
+
}));
|
|
161
|
+
assert.equal(unparsed.code, 1);
|
|
162
|
+
assert.match(unparsed.stderr, /pack-installs-alone: bin 'fixture' \(\.\/dist\/serve\.js\) in zz-fixture-1\.0\.0\.tgz doesn't load \(above\): a package it imports that only devDependencies supplies does that, as does a file the package leaves out, a syntax error, or a dependency's new release \(rerun this on main to tell\)\.\n$/);
|
|
163
|
+
// A bin whose imports the root never reaches: the root loads, the bin doesn't.
|
|
164
|
+
const devOnlyBin = await check(fixture({ files: ["dist"], main: "./dist/index.js", bin: { "zz-serve": "./dist/serve.js" }, devDependencies: { "zz-dev-only": "1.0.0" } }, { ...ENTRY, "dist/serve.js": "#!/usr/bin/env node\nimport 'zz-dev-only';\nthrow new Error('zz-serve ran');\n" }));
|
|
165
|
+
assert.equal(devOnlyBin.code, 1);
|
|
166
|
+
assert.match(devOnlyBin.stderr, /Cannot find package 'zz-dev-only'/);
|
|
167
|
+
assert.doesNotMatch(devOnlyBin.stderr, /zz-serve ran/);
|
|
168
|
+
assert.match(devOnlyBin.stderr, /pack-installs-alone: bin 'zz-serve' \(\.\/dist\/serve\.js\) in zz-fixture-1\.0\.0\.tgz doesn't load \(above\)/);
|
|
169
|
+
// One whose imports load is never run either, and the hook leaves what it
|
|
170
|
+
// imports alone: a CommonJS one among them doesn't make the bin CommonJS.
|
|
171
|
+
const imports = await check(fixture({ files: ["dist"], main: "./dist/index.js", bin: { "zz-serve": "./dist/serve.js" } }, {
|
|
172
|
+
...ENTRY,
|
|
173
|
+
"dist/legacy.cjs": "module.exports = { legacy: true };\n",
|
|
174
|
+
"dist/serve.js": "#!/usr/bin/env node\nimport { ok } from './index.js';\nimport legacy from './legacy.cjs';\nthrow new Error('zz-serve ran ' + ok + legacy.legacy);\n",
|
|
175
|
+
}));
|
|
176
|
+
assert.equal(imports.code, 0, imports.stderr);
|
|
177
|
+
assert.doesNotMatch(imports.stderr, /zz-serve ran/);
|
|
178
|
+
assert.match(imports.stdout, /; bins start with '#!': zz-serve; ES module bins' static imports load: zz-serve\.\n$/m);
|
|
179
|
+
});
|
|
180
|
+
test("a CommonJS bin is parsed, never run, whatever marks it CommonJS, and one that doesn't parse fails", async () => {
|
|
181
|
+
const marks = mkdtempSync(join(tmpdir(), "pack-installs-alone-marks-"));
|
|
182
|
+
made.push(marks);
|
|
183
|
+
const bin = (mark) => `#!/usr/bin/env node\nrequire("node:fs").writeFileSync(${JSON.stringify(join(marks, mark))}, "ran");\nconsole.error("zz CommonJS bin ran");\n`;
|
|
184
|
+
// CommonJS by the package's type, and by a .cjs extension in an ES module package.
|
|
185
|
+
for (const [mark, pkg, path] of [
|
|
186
|
+
["typed", { type: "commonjs", files: ["dist"], main: "./dist/index.cjs", bin: { "zz-cjs": "./dist/serve.js" } }, "dist/serve.js"],
|
|
187
|
+
["extension", { files: ["dist"], main: "./dist/index.js", bin: { "zz-cjs": "./dist/serve.cjs" } }, "dist/serve.cjs"],
|
|
188
|
+
]) {
|
|
189
|
+
const result = await check(fixture(pkg, { ...ENTRY, "dist/index.cjs": "exports.ok = true;\n", [path]: bin(mark) }));
|
|
190
|
+
assert.equal(result.code, 0, result.stderr);
|
|
191
|
+
assert.match(result.stdout, /; bins start with '#!': zz-cjs; CommonJS bins parse, not loaded: zz-cjs\.\n$/m);
|
|
192
|
+
assert.equal(existsSync(join(marks, mark)), false, `the ${mark} CommonJS bin ran`);
|
|
193
|
+
assert.doesNotMatch(result.stderr, /zz CommonJS bin ran/);
|
|
194
|
+
}
|
|
195
|
+
const unparsed = await check(fixture({ type: "commonjs", files: ["dist"], main: "./dist/index.cjs", bin: { "zz-cjs": "./dist/serve.js" } }, { "dist/index.cjs": "exports.ok = true;\n", "dist/serve.js": "#!/usr/bin/env node\nconst = ;\n" }));
|
|
196
|
+
assert.equal(unparsed.code, 1);
|
|
197
|
+
assert.match(unparsed.stderr, /pack-installs-alone: bin 'zz-cjs' \(\.\/dist\/serve\.js\) in zz-fixture-1\.0\.0\.tgz doesn't parse \(above\)\.\n$/);
|
|
198
|
+
});
|
|
199
|
+
test("a package imported only through another dependency's copy fails, since the install is nested", async () => {
|
|
200
|
+
// zz-cm depends on zz-chronicle; the fixture imports zz-chronicle but lists
|
|
201
|
+
// it only in devDependencies, so a hoisted install would hand it zz-cm's.
|
|
202
|
+
const tarballs = mkdtempSync(join(tmpdir(), "pack-installs-alone-deps-"));
|
|
203
|
+
made.push(tarballs);
|
|
204
|
+
const pack = (pkg, files) => {
|
|
205
|
+
const dir = fixture(pkg, files);
|
|
206
|
+
const out = execFileSync("npm", ["pack", "--json", "--pack-destination", tarballs], { cwd: dir, encoding: "utf8", env: { ...process.env, npm_config_offline: "true" } });
|
|
207
|
+
const parsed = JSON.parse(out);
|
|
208
|
+
return join(tarballs, (Array.isArray(parsed) ? parsed[0] : Object.values(parsed)[0]).filename);
|
|
209
|
+
};
|
|
210
|
+
const chronicle = pack({ name: "zz-chronicle", main: "./index.js" }, { "index.js": "export const chronicle = true;\n" });
|
|
211
|
+
const cm = pack({ name: "zz-cm", main: "./index.js", dependencies: { "zz-chronicle": `file:${chronicle}` } }, { "index.js": "import 'zz-chronicle';\nexport const cm = true;\n" });
|
|
212
|
+
const imports = { "dist/index.js": "import 'zz-cm';\nimport 'zz-chronicle';\nexport const ok = true;\n" };
|
|
213
|
+
const devOnly = await check(fixture({ files: ["dist"], main: "./dist/index.js", dependencies: { "zz-cm": `file:${cm}` }, devDependencies: { "zz-chronicle": `file:${chronicle}` } }, imports));
|
|
214
|
+
assert.equal(devOnly.code, 1);
|
|
215
|
+
assert.match(devOnly.stderr, /Cannot find package 'zz-chronicle'/);
|
|
216
|
+
const listed = await check(fixture({ files: ["dist"], main: "./dist/index.js", dependencies: { "zz-cm": `file:${cm}`, "zz-chronicle": `file:${chronicle}` } }, imports));
|
|
217
|
+
assert.equal(listed.code, 0, listed.stderr);
|
|
218
|
+
});
|
|
219
|
+
test("with bun on PATH, a bun target is loaded under bun, and one that doesn't load fails, naming it", async () => {
|
|
220
|
+
const pkg = { files: ["dist", "src"], exports: { ".": { bun: "./src/index.js", import: "./dist/index.js" } } };
|
|
221
|
+
const loads = await check(fixture(pkg, { ...ENTRY, "src/index.js": "export const ok = 'bun';\n" }), BUN_BY_NODE);
|
|
222
|
+
assert.equal(loads.code, 0, loads.stderr);
|
|
223
|
+
assert.match(loads.stdout, /; loaded '@zz\/fixture' \(import\); loaded under bun: '@zz\/fixture'\.\n$/m);
|
|
224
|
+
const broken = await check(fixture(pkg, { ...ENTRY, "src/index.js": "import './left-out.js';\n" }), BUN_BY_NODE);
|
|
225
|
+
assert.equal(broken.code, 1);
|
|
226
|
+
assert.match(broken.stderr, /pack-installs-alone: loading '@zz\/fixture' under bun from the installed zz-fixture-1\.0\.0\.tgz failed \(above\)\. A file it imports that the package leaves out does that, a dependency only devDependencies supplied, or a dependency's new release \(rerun this on main to tell\)\.\n$/);
|
|
227
|
+
});
|
|
228
|
+
test("the declaration the build wrote beside a packed module, left out of files, fails, whether types, typings or a types condition gives the package types, and exports: null falls back to main", async () => {
|
|
229
|
+
const declarations = { "dist/index.d.ts": "export * from './extra.js';\n", "dist/extra.d.ts": "export declare const extra: boolean;\n" };
|
|
230
|
+
for (const typed of [
|
|
231
|
+
{ types: "./dist/index.d.ts" },
|
|
232
|
+
{ typings: "./dist/index.d.ts" },
|
|
233
|
+
{ exports: { ".": { types: "./dist/index.d.ts", import: "./dist/index.js" } } },
|
|
234
|
+
]) {
|
|
235
|
+
const result = await check(fixture({ files: ["dist/**/*.js", "dist/index.d.ts"], main: "./dist/index.js", ...typed }, { ...ENTRY, ...declarations }));
|
|
236
|
+
assert.equal(result.code, 1, JSON.stringify(typed));
|
|
237
|
+
assert.match(result.stderr, /: dist\/extra\.d\.ts \(the declaration beside dist\/extra\.js\) isn't in zz-fixture-1\.0\.0\.tgz/);
|
|
238
|
+
}
|
|
239
|
+
const nullExports = await check(fixture({ files: ["dist"], main: "./dist/index.js", exports: null }, ENTRY));
|
|
240
|
+
assert.equal(nullExports.code, 0, nullExports.stderr);
|
|
241
|
+
assert.match(nullExports.stdout, /; loaded '@zz\/fixture' \(import\)\.\n$/m);
|
|
242
|
+
});
|
|
243
|
+
test("no declaration is required beside a module the package doesn't pack, or in a package without types", async () => {
|
|
244
|
+
// A root-level types, with a packed module and its declaration beside it,
|
|
245
|
+
// and a test's and a dependency's declarations, which stay out.
|
|
246
|
+
const root = await check(fixture({ files: ["index.js", "index.d.ts", "lib.js", "lib.d.ts"], main: "./index.js", types: "./index.d.ts" }, {
|
|
247
|
+
"index.js": "export * from './lib.js';\n",
|
|
248
|
+
"index.d.ts": "export * from './lib.js';\n",
|
|
249
|
+
"lib.js": "export const ok = true;\n",
|
|
250
|
+
"lib.d.ts": "export declare const ok: boolean;\n",
|
|
251
|
+
"test/helper.js": "export {};\n",
|
|
252
|
+
"test/helper.d.ts": "export {};\n",
|
|
253
|
+
"node_modules/zz-dep/index.d.ts": "export {};\n",
|
|
254
|
+
}));
|
|
255
|
+
assert.equal(root.code, 0, root.stderr);
|
|
256
|
+
// Without types, a declaration the build wrote may stay out.
|
|
257
|
+
const untyped = await check(fixture({ files: ["dist/**/*.js"], main: "./dist/index.js" }, { ...ENTRY, "dist/index.d.ts": "export declare const ok: boolean;\n" }));
|
|
258
|
+
assert.equal(untyped.code, 0, untyped.stderr);
|
|
259
|
+
});
|
|
260
|
+
test("npm pack output that isn't one record with a filename and its files fails, saying so", async () => {
|
|
261
|
+
for (const printed of ["zz: not JSON", JSON.stringify({ "@zz/fixture": { filename: "zz-fixture-1.0.0.tgz" } })]) {
|
|
262
|
+
const npm = shim("npm", `#!/bin/sh\nprintf '%s\\n' ${JSON.stringify(printed)}\n`);
|
|
263
|
+
const result = await check(fixture({ files: ["dist"], main: "./dist/index.js" }, ENTRY), NO_BUN, `${npm}:`);
|
|
264
|
+
assert.equal(result.code, 1, printed);
|
|
265
|
+
assert.equal(result.stderr, `${printed}\npack-installs-alone: npm pack --json didn't print one record with a filename and its files (its output is above).\n`);
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
test("npm pack's JSON is read in npm 12's shape too, and a prepack's output doesn't break it", async () => {
|
|
269
|
+
// npm 12 prints an object keyed by package name: a shim in front of the
|
|
270
|
+
// real npm rewrites npm 11's array that way, and passes npm 12's through.
|
|
271
|
+
const realNpm = execFileSync("sh", ["-c", "command -v npm"], { encoding: "utf8" }).trim();
|
|
272
|
+
const npm12 = shim("npm", `#!/usr/bin/env node\nconst { execFileSync } = require("node:child_process");\nconst args = process.argv.slice(2);\ntry {\n const out = execFileSync(${JSON.stringify(realNpm)}, args, { encoding: "utf8", stdio: ["inherit", "pipe", "inherit"] });\n if (args[0] === "pack" && args.includes("--json")) {\n const parsed = JSON.parse(out);\n // npm 12 prints the object already; npm 11's array is rewritten.\n process.stdout.write(Array.isArray(parsed) ? JSON.stringify({ [parsed[0].name]: parsed[0] }) : out);\n } else process.stdout.write(out);\n} catch (error) { process.stdout.write(error.stdout ?? ""); process.exit(error.status ?? 1); }\n`);
|
|
273
|
+
const twelve = await check(fixture({ files: ["dist"], main: "./dist/index.js" }, ENTRY), NO_BUN, `${npm12}:`);
|
|
274
|
+
assert.equal(twelve.code, 0, twelve.stderr);
|
|
275
|
+
assert.match(twelve.stdout, /^zz-fixture-1\.0\.0\.tgz \(\d+ files\) installs on its own;/m);
|
|
276
|
+
const chatty = await check(fixture({ files: ["dist"], main: "./dist/index.js", scripts: { prepack: "echo zz: packing" } }, ENTRY));
|
|
277
|
+
assert.equal(chatty.code, 0, chatty.stderr);
|
|
278
|
+
});
|
|
279
|
+
test("a dependency that can't be installed fails the install, saying what does that", async () => {
|
|
280
|
+
const result = await check(fixture({ files: ["dist"], main: "./dist/index.js", dependencies: { "zz-not-on-the-registry": "1.0.0" } }, ENTRY));
|
|
281
|
+
assert.equal(result.code, 1);
|
|
282
|
+
assert.match(result.stderr, /pack-installs-alone: zz-fixture-1\.0\.0\.tgz didn't install on its own into an empty directory \(npm's output is above\)\. A dependency that isn't on the registry does that, or a registry or network error, which a re-run gets past\.\n$/);
|
|
283
|
+
});
|
|
284
|
+
//# sourceMappingURL=pack-installs-alone.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-installs-alone.test.js","sourceRoot":"","sources":["../../test/pack-installs-alone.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
* without recompiling, so a turn that starts near the compile target can
|
|
6
6
|
* walk past the provider's HARD context cap mid-turn and take a wire 400.
|
|
7
7
|
* When AgentConfig.physicalWindowTokens is set, the framework projects each
|
|
8
|
-
* continuation round's real size (cache-INCLUSIVE
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* continuation round's real size (the cache-INCLUSIVE prompt of the latest
|
|
9
|
+
* call that reported one + that call's output + what the stream grew by
|
|
10
|
+
* since, when later calls reported no prompt + blocks about to be appended +
|
|
11
|
+
* reserve for response) and breaks the stream through the budget-restart
|
|
12
|
+
* path — fresh compile — instead of dispatching a doomed request. Unset →
|
|
13
|
+
* behavior unchanged.
|
|
12
14
|
*/
|
|
13
15
|
export {};
|
|
14
16
|
//# sourceMappingURL=physical-window-restart.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physical-window-restart.test.d.ts","sourceRoot":"","sources":["../../test/physical-window-restart.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"physical-window-restart.test.d.ts","sourceRoot":"","sources":["../../test/physical-window-restart.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|