SE-0500: Improving package creation with custom templates

One question that comes to mind is the implications of sandboxing the network. I can see why, but it’d potentially be very interesting to allow for pulling in an LLM that is remotely accessed from the command line tool.

Sounds interesting! The implication around sandboxing was to offer certain guarantees to consumers that templates cannot make unexpected or malicious outbound requests.

If a template needs network access, then you can explicitly declare this in the template’s manifest, within a .template target:

templatePermissions: [ .allowNetworkConnections(scope: .none, reason: "Need to remotely access a LLM"),]

When this is present, the end-user that invokes this specific template will be prompted to grant or deny network access before the template runs.

2 Likes