renaming goalie to its proper name

renaming goalie to its proper name

@0xc98f2d65bc9a57fc;

using Cxx = import "/capnp/c++.capnp";
$Cxx.namespace("robocup2Dsim::common::entity");

using Field = import "field.capnp";
using Physics = import "/common/physics.capnp";

using TeamName = Text;

enum PlayerType
{
    outfield @0;
    goalKeeper @1;
}

enum UniformNumber
{
    one @0;
    two @1;
    three @2;
    four @3;
    five @4;
    six @5;
    seven @6;
    eight @7;
    nine @8;
    ten @9;
    eleven @10;
}

struct PlayerId
{
    side @0 :Field.Side;
    uniform @1 :UniformNumber;
}

struct Player
{
    id @0 :PlayerId;
    type @1 :PlayerType;
    position @2 :Physics.Position;
    stamina @3 :Physics.KiloJoule;
    effort @4 :Physics.KiloJoule;
    bodyDirection @5 :Physics.Degree;
    headDirection @6 :Physics.Degree;
    velocity @7 :Physics.MilliMetrePerSecond;
}

enum ParticipantType
{
    player @0;
    coach @1;
    referee @2;
    trainer @3;
}

struct Ball
{
    position @0 :Physics.Position;
    direction @1 :Physics.Degree;
    velocity @2 :Physics.MilliMetrePerSecond;
}

@0xc98f2d65bc9a57fc;

using Cxx = import "/capnp/c++.capnp";
$Cxx.namespace("robocup2Dsim::common::entity");

using Field = import "field.capnp";
using Physics = import "/common/physics.capnp";

using TeamName = Text;

enum PlayerType
{
    outfield @0;
    goalie @1;
}

enum UniformNumber
{
    one @0;
    two @1;
    three @2;
    four @3;
    five @4;
    six @5;
    seven @6;
    eight @7;
    nine @8;
    ten @9;
    eleven @10;
}

struct PlayerId
{
    side @0 :Field.Side;
    uniform @1 :UniformNumber;
}

struct Player
{
    id @0 :PlayerId;
    type @1 :PlayerType;
    position @2 :Physics.Position;
    stamina @3 :Physics.KiloJoule;
    effort @4 :Physics.KiloJoule;
    bodyDirection @5 :Physics.Degree;
    headDirection @6 :Physics.Degree;
    velocity @7 :Physics.MilliMetrePerSecond;
}

enum ParticipantType
{
    player @0;
    coach @1;
    referee @2;
    trainer @3;
}

struct Ball
{
    position @0 :Physics.Position;
    direction @1 :Physics.Degree;
    velocity @2 :Physics.MilliMetrePerSecond;
}


use the app id of the released app

use the app id of the released app

@0xd78090a95ff14b08;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "7m2fcfn7qdyexs3jmn6vrdngcryeuc8y4fa6jpyj4fgwh5tq27ph",

  manifest = (
    # This manifest is included in your app package to tell Sandstorm
    # about your app.

    appVersion = 3,  # Increment this for every release.

    actions = [
      # Define your "new document" handlers here.
      ( title = (defaultText = "New Acronymy Instance"),
        command = .initCommand
        # The command to run when starting for the first time. (".myCommand"
        # is just a constant defined at the bottom of the file.)
      )
    ],

    continueCommand = .continueCommand
    # This is the command called to start your app back up after it has been
    # shut down for inactivity. Here we're using the same command as for
    # starting a new instance, but you could use different commands for each
    # case.
  ),

  sourceMap = (
    # Here we defined where to look for files to copy into your package. The
    # `spk dev` command actually figures out what files your app needs
    # automatically by running it on a FUSE filesystem. So, the mappings
    # here are only to tell it where to find files that the app wants.
    searchPath = [
      ( sourcePath = "." ),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys" ]
        # You probably don't want the app pulling files from these places,
        # so we hide them. Note that /dev, /var, and /tmp are implicitly
        # hidden because Sandstorm itself provides them.
      )
    ]
  ),

  fileList = "sandstorm-files.list",
  # `spk dev` will write a list of all the files your app uses to this file.
  # You should review it later, before shipping your app.

  alwaysInclude = []
  # Fill this list with more names of files or directories that should be
  # included in your package, even if not listed in sandstorm-files.list.
  # Use this to force-include stuff that you know you need but which may
  # not have been detected as a dependency during `spk dev`. If you list
  # a directory here, its entire contents will be included recursively.
);

const initCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/acronymy", "--init", "/data.db", "/var/data.db"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);

const continueCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/acronymy"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);

@0xd78090a95ff14b08;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "qd72z4m2y8ug2kyhxh51s9ytqpkwgte59v3dj8xhmak8p2dzyfvh",
  # Your app ID is actually its public key. The private key was placed in
  # your keyring. All updates must be signed with the same key.

  manifest = (
    # This manifest is included in your app package to tell Sandstorm
    # about your app.

    appVersion = 3,  # Increment this for every release.

    actions = [
      # Define your "new document" handlers here.
      ( title = (defaultText = "New Acronymy Instance"),
        command = .initCommand
        # The command to run when starting for the first time. (".myCommand"
        # is just a constant defined at the bottom of the file.)
      )
    ],

    continueCommand = .continueCommand
    # This is the command called to start your app back up after it has been
    # shut down for inactivity. Here we're using the same command as for
    # starting a new instance, but you could use different commands for each
    # case.
  ),

  sourceMap = (
    # Here we defined where to look for files to copy into your package. The
    # `spk dev` command actually figures out what files your app needs
    # automatically by running it on a FUSE filesystem. So, the mappings
    # here are only to tell it where to find files that the app wants.
    searchPath = [
      ( sourcePath = "." ),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys" ]
        # You probably don't want the app pulling files from these places,
        # so we hide them. Note that /dev, /var, and /tmp are implicitly
        # hidden because Sandstorm itself provides them.
      )
    ]
  ),

  fileList = "sandstorm-files.list",
  # `spk dev` will write a list of all the files your app uses to this file.
  # You should review it later, before shipping your app.

  alwaysInclude = []
  # Fill this list with more names of files or directories that should be
  # included in your package, even if not listed in sandstorm-files.list.
  # Use this to force-include stuff that you know you need but which may
  # not have been detected as a dependency during `spk dev`. If you list
  # a directory here, its entire contents will be included recursively.
);

const initCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/acronymy", "--init", "/data.db", "/var/data.db"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);

const continueCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/acronymy"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);


bump version

bump version

@0x87742b8004358e72;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "7qvcjh7gk0rzdx1s3c8gufd288sesf6vvdt297756xcv4q8xxvhh",
  # Your app ID is actually its public key. The private key was placed in
  # your keyring. All updates must be signed with the same key.

  manifest = (
    appTitle = (defaultText = "Hacker Slides"),
    # This manifest is included in your app package to tell Sandstorm
    # about your app.

    appVersion = 4,  # Increment this for every release.
    appMarketingVersion = (defaultText = "0.3.0"),

    actions = [
      # Define your "new document" handlers here.
      ( title = (defaultText = "New Slides"),
        nounPhrase = (defaultText = "slides"),
        command = .myCommand
        # The command to run when starting for the first time. (".myCommand"
        # is just a constant defined at the bottom of the file.)
      )
    ],

    continueCommand = .myCommand,
    # This is the command called to start your app back up after it has been
    # shut down for inactivity. Here we're using the same command as for
    # starting a new instance, but you could use different commands for each
    # case.

    metadata = (
      icons = (
        appGrid = (svg = embed "app-graphics/hackerslides-128.svg"),
        grain = (svg = embed "app-graphics/hackerslides-24.svg"),
        market = (svg = embed "app-graphics/hackerslides-150.svg"),
      ),

      website = "https://github.com/jacksingleton/hacker-slides",
      codeUrl = "https://github.com/jacksingleton/hacker-slides",
      license = (openSource = mit),
      categories = [office, productivity],

      author = (
        contactEmail = "hackerslides@jacksingleton.com",
        pgpSignature = embed "pgp-signature",
      ),

      pgpKeyring = embed "pgp-keyring",

      description = (defaultText = embed "description.md"),
      shortDescription = (defaultText = "Presentation tool"),

      screenshots = [
        (width = 448, height = 343, png = embed "screenshot.png")
      ],
    ),
  ),

  sourceMap = (
    # Here we defined where to look for files to copy into your package. The
    # `spk dev` command actually figures out what files your app needs
    # automatically by running it on a FUSE filesystem. So, the mappings
    # here are only to tell it where to find files that the app wants.
    searchPath = [
      ( sourcePath = ".", hidePaths = [".git", ".vagrant"] ),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys", "vagrant", "*.pyc",
                      "etc/passwd", "etc/hosts", "etc/host.conf",
                      "etc/nsswitch.conf", "etc/resolv.conf",
                      # For all vagrant-spk apps, we don't care about the Vagrant
                      # VM state, so we ignore it here.
                      "opt/app/.sandstorm/.vagrant"]
        # You probably don't want the app pulling files from these places,
        # so we hide them. Note that /dev, /var, and /tmp are implicitly
        # hidden because Sandstorm itself provides them.
      )
    ]
  ),

  fileList = "sandstorm-files.list",
  # `spk dev` will write a list of all the files your app uses to this file.
  # You should review it later, before shipping your app.

  alwaysInclude = [
    "usr/lib/python3.4", # include all of the Python runtime
    "usr/lib/python3", # include pure-Python packages from Debian
    "usr/local/lib/python3.4", # include python packages from pip
    "opt/app/static",
  ],
  # Fill this list with more names of files or directories that should be
  # included in your package, even if not listed in sandstorm-files.list.
  # Use this to force-include stuff that you know you need but which may
  # not have been detected as a dependency during `spk dev`. If you list
  # a directory here, its entire contents will be included recursively.
);

const myCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/sandstorm-http-bridge", "8000", "--", "/opt/app/.sandstorm/launcher.sh"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"),
    (key = "HOME", value = "/var")
  ]
);

@0x87742b8004358e72;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "7qvcjh7gk0rzdx1s3c8gufd288sesf6vvdt297756xcv4q8xxvhh",
  # Your app ID is actually its public key. The private key was placed in
  # your keyring. All updates must be signed with the same key.

  manifest = (
    appTitle = (defaultText = "Hacker Slides"),
    # This manifest is included in your app package to tell Sandstorm
    # about your app.

    appVersion = 3,  # Increment this for every release.
    appMarketingVersion = (defaultText = "0.2.0"),

    actions = [
      # Define your "new document" handlers here.
      ( title = (defaultText = "New Slides"),
        nounPhrase = (defaultText = "slides"),
        command = .myCommand
        # The command to run when starting for the first time. (".myCommand"
        # is just a constant defined at the bottom of the file.)
      )
    ],

    continueCommand = .myCommand,
    # This is the command called to start your app back up after it has been
    # shut down for inactivity. Here we're using the same command as for
    # starting a new instance, but you could use different commands for each
    # case.

    metadata = (
      icons = (
        appGrid = (svg = embed "app-graphics/hackerslides-128.svg"),
        grain = (svg = embed "app-graphics/hackerslides-24.svg"),
        market = (svg = embed "app-graphics/hackerslides-150.svg"),
      ),

      website = "https://github.com/jacksingleton/hacker-slides",
      codeUrl = "https://github.com/jacksingleton/hacker-slides",
      license = (openSource = mit),
      categories = [office, productivity],

      author = (
        contactEmail = "hackerslides@jacksingleton.com",
        pgpSignature = embed "pgp-signature",
      ),

      pgpKeyring = embed "pgp-keyring",

      description = (defaultText = embed "description.md"),
      shortDescription = (defaultText = "Presentation tool"),

      screenshots = [
        (width = 448, height = 343, png = embed "screenshot.png")
      ],
    ),
  ),

  sourceMap = (
    # Here we defined where to look for files to copy into your package. The
    # `spk dev` command actually figures out what files your app needs
    # automatically by running it on a FUSE filesystem. So, the mappings
    # here are only to tell it where to find files that the app wants.
    searchPath = [
      ( sourcePath = ".", hidePaths = [".git", ".vagrant"] ),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys", "vagrant", "*.pyc",
                      "etc/passwd", "etc/hosts", "etc/host.conf",
                      "etc/nsswitch.conf", "etc/resolv.conf",
                      # For all vagrant-spk apps, we don't care about the Vagrant
                      # VM state, so we ignore it here.
                      "opt/app/.sandstorm/.vagrant"]
        # You probably don't want the app pulling files from these places,
        # so we hide them. Note that /dev, /var, and /tmp are implicitly
        # hidden because Sandstorm itself provides them.
      )
    ]
  ),

  fileList = "sandstorm-files.list",
  # `spk dev` will write a list of all the files your app uses to this file.
  # You should review it later, before shipping your app.

  alwaysInclude = [
    "usr/lib/python3.4", # include all of the Python runtime
    "usr/lib/python3", # include pure-Python packages from Debian
    "usr/local/lib/python3.4", # include python packages from pip
    "opt/app/static",
  ],
  # Fill this list with more names of files or directories that should be
  # included in your package, even if not listed in sandstorm-files.list.
  # Use this to force-include stuff that you know you need but which may
  # not have been detected as a dependency during `spk dev`. If you list
  # a directory here, its entire contents will be included recursively.
);

const myCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/sandstorm-http-bridge", "8000", "--", "/opt/app/.sandstorm/launcher.sh"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"),
    (key = "HOME", value = "/var")
  ]
);


Update shortDescription

Update shortDescription

@0xaecd42915acc793f;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "aax9j672p6z8n7nyupzvj2nmumeqd4upa0f7mgu8gprwmy53x04h",
  # Your app ID is actually its public key. The private key was placed in
  # your keyring. All updates must be signed with the same key.

  manifest = (
    appTitle = (defaultText = "WordPress"),
    appVersion = 8,
    appMarketingVersion = (defaultText = "2015.10.21 (4.3.2-alpha)"),

    metadata = (
      icons = (
        appGrid = (svg = embed "app-graphics/wordpress-128.svg"),
        grain = (svg = embed "app-graphics/wordpress-24.svg"),
        market = (svg = embed "app-graphics/wordpress-150.svg"),
       ),
       website = "https://wordpress.org/",
       codeUrl = "https://github.com/dwrensha/wordpress-sandstorm",
       license = (openSource = gpl2),
       categories = [webPublishing,],
       author = (
         upstreamAuthor = "WordPress Project",
         contactEmail = "david@sandstorm.io",
         pgpSignature = embed "pgp-signature",
       ),
       pgpKeyring = embed "pgp-keyring",
       description = (defaultText = embed "description.md"),
       shortDescription = (defaultText = "Content management"),
       screenshots = [(width = 448, height = 346, png = embed "screenshot1.png"),
                      (width = 448, height = 348, png = embed "screenshot2.png")],
       changeLog = (defaultText = embed "changeLog.md"),
     ),

    actions = [
      ( title = (defaultText = "New site"),
        nounPhrase = (defaultText = "site"),
        command = .startCommand
      )
    ],

    continueCommand = .continueCommand
  ),

  sourceMap = (
    searchPath = [
      ( sourcePath = "."),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys",
                      "etc/nsswitch.conf", "etc/localtime",
                      "etc/host.conf", "etc/resolv.conf"]
      )
    ]
  ),

  fileList = "sandstorm-files.list",

  alwaysInclude = ["wordpress-read-only", "read-only-plugins"],

  bridgeConfig = (
    viewInfo = (
      permissions = [(name = "admin", title = (defaultText = "admin"),
                      description = (defaultText = "allows administrative actions")),
                     (name = "editor", title = (defaultText = "editor"),
                      description = (defaultText = "allows publishing of posts of others")),
                     (name = "author", title = (defaultText = "author"),
                      description = (defaultText = "allows publishing of own posts")),
                     (name = "contributor", title = (defaultText = "contributor"),
                      description = (defaultText = "allows writing of posts")),
                     (name = "subscriber", title = (defaultText = "subscriber"),
                      description = (defaultText = "allows profile customization"))],
      roles = [(title = (defaultText = "admin"),
                permissions = [true, true, true, true, true],
                verbPhrase = (defaultText = "can do anything")),
               (title = (defaultText = "editor"),
                permissions = [false, true, true, true, true],
                verbPhrase = (defaultText = "can publish posts of others")),
               (title = (defaultText = "author"),
                permissions = [false, false, true, true, true],
                verbPhrase = (defaultText = "can publish own posts")),
               (title = (defaultText = "contributor"),
                permissions = [false, false, false, true, true],
                verbPhrase = (defaultText = "can write posts"),
                default = true),
                (title = (defaultText = "subscriber"),
                permissions = [false, false, false, false, true],
                verbPhrase = (defaultText = "can customize profile"))]
    )
  )
);

const startCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/sandstorm-http-bridge", "10000", "--", "/start.sh"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);

const continueCommand :Spk.Manifest.Command = (
  argv = ["/sandstorm-http-bridge", "10000", "--", "/continue.sh"],
  environ = [
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);

@0xaecd42915acc793f;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "aax9j672p6z8n7nyupzvj2nmumeqd4upa0f7mgu8gprwmy53x04h",
  # Your app ID is actually its public key. The private key was placed in
  # your keyring. All updates must be signed with the same key.

  manifest = (
    appTitle = (defaultText = "WordPress"),
    appVersion = 8,
    appMarketingVersion = (defaultText = "2015.10.21 (4.3.2-alpha)"),

    metadata = (
      icons = (
        appGrid = (svg = embed "app-graphics/wordpress-128.svg"),
        grain = (svg = embed "app-graphics/wordpress-24.svg"),
        market = (svg = embed "app-graphics/wordpress-150.svg"),
       ),
       website = "https://wordpress.org/",
       codeUrl = "https://github.com/dwrensha/wordpress-sandstorm",
       license = (openSource = gpl2),
       categories = [webPublishing,],
       author = (
         upstreamAuthor = "WordPress Project",
         contactEmail = "david@sandstorm.io",
         pgpSignature = embed "pgp-signature",
       ),
       pgpKeyring = embed "pgp-keyring",
       description = (defaultText = embed "description.md"),
       screenshots = [(width = 448, height = 346, png = embed "screenshot1.png"),
                      (width = 448, height = 348, png = embed "screenshot2.png")],
       changeLog = (defaultText = embed "changeLog.md"),
     ),

    actions = [
      ( title = (defaultText = "New site"),
        nounPhrase = (defaultText = "site"),
        command = .startCommand
      )
    ],

    continueCommand = .continueCommand
  ),

  sourceMap = (
    searchPath = [
      ( sourcePath = "."),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys",
                      "etc/nsswitch.conf", "etc/localtime",
                      "etc/host.conf", "etc/resolv.conf"]
      )
    ]
  ),

  fileList = "sandstorm-files.list",

  alwaysInclude = ["wordpress-read-only", "read-only-plugins"],

  bridgeConfig = (
    viewInfo = (
      permissions = [(name = "admin", title = (defaultText = "admin"),
                      description = (defaultText = "allows administrative actions")),
                     (name = "editor", title = (defaultText = "editor"),
                      description = (defaultText = "allows publishing of posts of others")),
                     (name = "author", title = (defaultText = "author"),
                      description = (defaultText = "allows publishing of own posts")),
                     (name = "contributor", title = (defaultText = "contributor"),
                      description = (defaultText = "allows writing of posts")),
                     (name = "subscriber", title = (defaultText = "subscriber"),
                      description = (defaultText = "allows profile customization"))],
      roles = [(title = (defaultText = "admin"),
                permissions = [true, true, true, true, true],
                verbPhrase = (defaultText = "can do anything")),
               (title = (defaultText = "editor"),
                permissions = [false, true, true, true, true],
                verbPhrase = (defaultText = "can publish posts of others")),
               (title = (defaultText = "author"),
                permissions = [false, false, true, true, true],
                verbPhrase = (defaultText = "can publish own posts")),
               (title = (defaultText = "contributor"),
                permissions = [false, false, false, true, true],
                verbPhrase = (defaultText = "can write posts"),
                default = true),
                (title = (defaultText = "subscriber"),
                permissions = [false, false, false, false, true],
                verbPhrase = (defaultText = "can customize profile"))]
    )
  )
);

const startCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/sandstorm-http-bridge", "10000", "--", "/start.sh"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);

const continueCommand :Spk.Manifest.Command = (
  argv = ["/sandstorm-http-bridge", "10000", "--", "/continue.sh"],
  environ = [
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);


[marv] Fix erroneous capnp structs

[marv] Fix erroneous capnp structs

close https://github.com/ternaris/marv/issues/43

# Copyright 2016 - 2018  Ternaris.
# SPDX-License-Identifier: AGPL-3.0-only

@0x8ce54f16698f41e9;

using Timedelta = UInt64;
using Timestamp = UInt64;

struct BoolValue {
  value @0 :Bool;
}

struct Int8Value {
  value @0 :Int8;
}

struct Int16Value {
  value @0 :Int16;
}

struct Int32Value {
  value @0 :Int32;
}

struct Int64Value {
  value @0 :Int64;
}

struct UInt8Value {
  value @0 :UInt8;
}

struct UInt16Value {
  value @0 :UInt16;
}

struct UInt32Value {
  value @0 :UInt32;
}

struct UInt64Value {
  value @0 :UInt64;
}

struct Float32Value {
  value @0 :Float32;
}

struct Float64Value {
  value @0 :Float64;
}

struct TextValue {
  value @0 :Text;
}

struct DataValue {
  value @0 :Data;
}

struct TimedBool {
  value @0 :Bool;
  timestamp @1 :Timestamp;
}

struct TimedInt8 {
  value @0 :Int8;
  timestamp @1 :Timestamp;
}

struct TimedInt16 {
  value @0 :Int16;
  timestamp @1 :Timestamp;
}

struct TimedInt32 {
  value @0 :Int32;
  timestamp @1 :Timestamp;
}

struct TimedInt64 {
  value @0 :Int64;
  timestamp @1 :Timestamp;
}

struct TimedUInt8 {
  value @0 :UInt8;
  timestamp @1 :Timestamp;
}

struct TimedUInt16 {
  value @0 :UInt16;
  timestamp @1 :Timestamp;
}

struct TimedUInt32 {
  value @0 :UInt32;
  timestamp @1 :Timestamp;
}

struct TimedUInt64 {
  value @0 :UInt64;
  timestamp @1 :Timestamp;
}

struct TimedFloat32 {
  value @0 :Float32;
  timestamp @1 :Timestamp;
}

struct TimedFloat64 {
  value @0 :Float64;
  timestamp @1 :Timestamp;
}

struct TimedText {
  value @0 :Text;
  timestamp @1 :Timestamp;
}

struct TimedData {
  value @0 :Data;
  timestamp @1 :Timestamp;
}

# Below here unused so far

struct Datetime {
  timestamp @0 :Timestamp;
  # ns since epoch

  tzoffset @1 :Int16;
  # timezone offset in minutes
}

struct Map(Key, Value) {
  items @0 :List(Item);

  struct Item {
    key @0 :Key;
    value @1 :Value;
  }
}

# Copyright 2016 - 2018  Ternaris.
# SPDX-License-Identifier: AGPL-3.0-only

@0x8ce54f16698f41e9;

using Timedelta = UInt64;
using Timestamp = UInt64;

struct BoolValue {
  value @0 :Bool;
}

struct Int8Value {
  value @0 :Int8;
}

struct Int16Value {
  value @0 :Int16;
}

struct Int32Value {
  value @0 :Int32;
}

struct Int64Value {
  value @0 :Int64;
}

struct UInt8Value {
  value @0 :UInt8;
}

struct UInt16Value {
  value @0 :UInt16;
}

struct UInt32Value {
  value @0 :UInt32;
}

struct UInt64Value {
  value @0 :UInt64;
}

struct Float32Value {
  value @0 :Float32Value;
}

struct Float64Value {
  value @0 :Float64Value;
}

struct TextValue {
  value @0 :Text;
}

struct DataValue {
  value @0 :Data;
}

struct TimedBool {
  value @0 :Bool;
  timestamp @1 :Timestamp;
}

struct TimedInt8 {
  value @0 :Int8;
  timestamp @1 :Timestamp;
}

struct TimedInt16 {
  value @0 :Int16;
  timestamp @1 :Timestamp;
}

struct TimedInt32 {
  value @0 :Int32;
  timestamp @1 :Timestamp;
}

struct TimedInt64 {
  value @0 :Int64;
  timestamp @1 :Timestamp;
}

struct TimedUInt8 {
  value @0 :UInt8;
  timestamp @1 :Timestamp;
}

struct TimedUInt16 {
  value @0 :UInt16;
  timestamp @1 :Timestamp;
}

struct TimedUInt32 {
  value @0 :UInt32;
  timestamp @1 :Timestamp;
}

struct TimedUInt64 {
  value @0 :UInt64;
  timestamp @1 :Timestamp;
}

struct TimedFloat32 {
  value @0 :Float32Value;
  timestamp @1 :Timestamp;
}

struct TimedFloat64 {
  value @0 :Float64Value;
  timestamp @1 :Timestamp;
}

struct TimedText {
  value @0 :Text;
  timestamp @1 :Timestamp;
}

struct TimedData {
  value @0 :Data;
  timestamp @1 :Timestamp;
}

# Below here unused so far

struct Datetime {
  timestamp @0 :Timestamp;
  # ns since epoch

  tzoffset @1 :Int16;
  # timezone offset in minutes
}

struct Map(Key, Value) {
  items @0 :List(Item);

  struct Item {
    key @0 :Key;
    value @1 :Value;
  }
}


add an 'admin' permission

add an 'admin' permission

@0xaecd42915acc793f;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "aax9j672p6z8n7nyupzvj2nmumeqd4upa0f7mgu8gprwmy53x04h",
  # Your app ID is actually its public key. The private key was placed in
  # your keyring. All updates must be signed with the same key.

  manifest = (
    # This manifest is included in your app package to tell Sandstorm
    # about your app.

    appVersion = 0,  # Increment this for every release.

    actions = [
      # Define your "new document" handlers here.
      ( title = (defaultText = "New WordPress Site"),
        command = .startCommand
      )
    ],

    continueCommand = .continueCommand
  ),

  sourceMap = (
    # Here we defined where to look for files to copy into your package. The
    # `spk dev` command actually figures out what files your app needs
    # automatically by running it on a FUSE filesystem. So, the mappings
    # here are only to tell it where to find files that the app wants.
    searchPath = [
      ( sourcePath = "."),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys" ]
        # You probably don't want the app pulling files from these places,
        # so we hide them. Note that /dev, /var, and /tmp are implicitly
        # hidden because Sandstorm itself provides them.
      )
    ]
  ),

  fileList = "sandstorm-files.list",
  # `spk dev` will write a list of all the files your app uses to this file.
  # You should review it later, before shipping your app.

  alwaysInclude = ["wordpress"],
  # Fill this list with more names of files or directories that should be
  # included in your package, even if not listed in sandstorm-files.list.
  # Use this to force-include stuff that you know you need but which may
  # not have been detected as a dependency during `spk dev`. If you list
  # a directory here, its entire contents will be included recursively.

  bridgeConfig = (
    viewInfo = (
      permissions = [(name = "admin")]
    )
  )
);

const startCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/sandstorm-http-bridge", "10000", "--", "/start.sh"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);

const continueCommand :Spk.Manifest.Command = (
  argv = ["/sandstorm-http-bridge", "10000", "--", "/continue.sh"],
  environ = [
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);

@0xaecd42915acc793f;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "aax9j672p6z8n7nyupzvj2nmumeqd4upa0f7mgu8gprwmy53x04h",
  # Your app ID is actually its public key. The private key was placed in
  # your keyring. All updates must be signed with the same key.

  manifest = (
    # This manifest is included in your app package to tell Sandstorm
    # about your app.

    appVersion = 0,  # Increment this for every release.

    actions = [
      # Define your "new document" handlers here.
      ( title = (defaultText = "New WordPress Site"),
        command = .startCommand
      )
    ],

    continueCommand = .continueCommand
  ),

  sourceMap = (
    # Here we defined where to look for files to copy into your package. The
    # `spk dev` command actually figures out what files your app needs
    # automatically by running it on a FUSE filesystem. So, the mappings
    # here are only to tell it where to find files that the app wants.
    searchPath = [
      ( sourcePath = "."),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys" ]
        # You probably don't want the app pulling files from these places,
        # so we hide them. Note that /dev, /var, and /tmp are implicitly
        # hidden because Sandstorm itself provides them.
      )
    ]
  ),

  fileList = "sandstorm-files.list",
  # `spk dev` will write a list of all the files your app uses to this file.
  # You should review it later, before shipping your app.

  alwaysInclude = ["wordpress"]
  # Fill this list with more names of files or directories that should be
  # included in your package, even if not listed in sandstorm-files.list.
  # Use this to force-include stuff that you know you need but which may
  # not have been detected as a dependency during `spk dev`. If you list
  # a directory here, its entire contents will be included recursively.
);

const startCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/sandstorm-http-bridge", "10000", "--", "/start.sh"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);

const continueCommand :Spk.Manifest.Command = (
  argv = ["/sandstorm-http-bridge", "10000", "--", "/continue.sh"],
  environ = [
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
  ]
);


Expand capnp file. [skip ci]

Expand capnp file. [skip ci]

@0xb0032512fca90cd9;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "uws252ya9mep4t77tevn85333xzsgrpgth8q4y1rhknn1hammw70",
  # Your app ID is actually its public key. The private key was placed in
  # your keyring. All updates must be signed with the same key.

  manifest = (
    appTitle = (defaultText = "Firefly III"),
    appVersion = 1,
    appMarketingVersion = (defaultText = "4.6.9"),

    actions = [
      # Define your "new document" handlers here.
      ( nounPhrase = (defaultText = "administration"),
        command = .myCommand
        # The command to run when starting for the first time. (".myCommand"
        # is just a constant defined at the bottom of the file.)
      )
    ],

    continueCommand = .myCommand,
    # This is the command called to start your app back up after it has been
    # shut down for inactivity. Here we're using the same command as for
    # starting a new instance, but you could use different commands for each
    # case.

    metadata = (
         icons = (
        appGrid = (png = (dpi1x = embed "app-graphics/firefly-iii-128.png")),
        grain = (png = (dpi1x = embed "app-graphics/firefly-iii-24.png",
                        dpi2x = embed "app-graphics/firefly-iii-48.png")),
        market = (png = (dpi1x = embed "app-graphics/firefly-iii-150.png"))
      ),

      website = "https://firefly-iii.github.io/",
      codeUrl = "https://github.com/firefly-iii/firefly-iii",
      #license = (openSource = mit),
      license = (proprietary = (defaultText = embed "../LICENSE")),
      # The license this package is distributed under.  See
      # https://docs.sandstorm.io/en/latest/developing/publishing-apps/#license

      categories = [productivity],
      # A list of categories/genres to which this app belongs, sorted with best fit first.
      # See the list of categories at
      # https://docs.sandstorm.io/en/latest/developing/publishing-apps/#categories

      author = (
        contactEmail = "thegrumpydictator@gmail.com",
        upstreamAuthor = "James Cole",
        pgpSignature = embed "pgp-signature",
      ),

      pgpKeyring = embed "pgp-keyring",
      description = (defaultText = embed "description.md"),
      shortDescription = (defaultText = "Financial management"),
      screenshots = [
        # Screenshots to use for marketing purposes.  Examples below.
        # Sizes are given in device-independent pixels, so if you took these
        # screenshots on a Retina-style high DPI screen, divide each dimension by two.

        (width = 1291, height = 800, png = embed "screenshots/screenshot-1.png"),
        (width = 1291, height = 800, png = embed "screenshots/screenshot-2.png"),
        (width = 1291, height = 800, png = embed "screenshots/screenshot-3.png"),

      ],
      changeLog = (defaultText = embed "changelog.md"),
    ),
  ),

  sourceMap = (
    # Here we defined where to look for files to copy into your package. The
    # `spk dev` command actually figures out what files your app needs
    # automatically by running it on a FUSE filesystem. So, the mappings
    # here are only to tell it where to find files that the app wants.
    searchPath = [
      ( sourcePath = "." ),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys",
                      "etc/passwd", "etc/hosts", "etc/host.conf",
                      "etc/nsswitch.conf", "etc/resolv.conf" ]
        # You probably don't want the app pulling files from these places,
        # so we hide them. Note that /dev, /var, and /tmp are implicitly
        # hidden because Sandstorm itself provides them.
      )
    ]
  ),

  fileList = "sandstorm-files.list",
  # `spk dev` will write a list of all the files your app uses to this file.
  # You should review it later, before shipping your app.

  alwaysInclude = ["opt/app/app","opt/app/bootstrap","opt/app/config","opt/app/database","opt/app/public","opt/app/resources","opt/app/routes","opt/app/vendor"],
  # Fill this list with more names of files or directories that should be
  # included in your package, even if not listed in sandstorm-files.list.
  # Use this to force-include stuff that you know you need but which may
  # not have been detected as a dependency during `spk dev`. If you list
  # a directory here, its entire contents will be included recursively.

  #bridgeConfig = (
  #  # Used for integrating permissions and roles into the Sandstorm shell
  #  # and for sandstorm-http-bridge to pass to your app.
  #  # Uncomment this block and adjust the permissions and roles to make
  #  # sense for your app.
  #  # For more information, see high-level documentation at
  #  # https://docs.sandstorm.io/en/latest/developing/auth/
  #  # and advanced details in the "BridgeConfig" section of
  #  # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/package.capnp
  #  viewInfo = (
  #    # For details on the viewInfo field, consult "ViewInfo" in
  #    # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/grain.capnp
  #
  #    permissions = [
  #    # Permissions which a user may or may not possess.  A user's current
  #    # permissions are passed to the app as a comma-separated list of `name`
  #    # fields in the X-Sandstorm-Permissions header with each request.
  #    #
  #    # IMPORTANT: only ever append to this list!  Reordering or removing fields
  #    # will change behavior and permissions for existing grains!  To deprecate a
  #    # permission, or for more information, see "PermissionDef" in
  #    # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/grain.capnp
  #      (
  #        name = "editor",
  #        # Name of the permission, used as an identifier for the permission in cases where string
  #        # names are preferred.  Used in sandstorm-http-bridge's X-Sandstorm-Permissions HTTP header.
  #
  #        title = (defaultText = "editor"),
  #        # Display name of the permission, e.g. to display in a checklist of permissions
  #        # that may be assigned when sharing.
  #
  #        description = (defaultText = "grants ability to modify data"),
  #        # Prose describing what this role means, suitable for a tool tip or similar help text.
  #      ),
  #    ],
  #    roles = [
  #      # Roles are logical collections of permissions.  For instance, your app may have
  #      # a "viewer" role and an "editor" role
  #      (
  #        title = (defaultText = "editor"),
  #        # Name of the role.  Shown in the Sandstorm UI to indicate which users have which roles.
  #
  #        permissions  = [true],
  #        # An array indicating which permissions this role carries.
  #        # It should be the same length as the permissions array in
  #        # viewInfo, and the order of the lists must match.
  #
  #        verbPhrase = (defaultText = "can make changes to the document"),
  #        # Brief explanatory text to show in the sharing UI indicating
  #        # what a user assigned this role will be able to do with the grain.
  #
  #        description = (defaultText = "editors may view all site data and change settings."),
  #        # Prose describing what this role means, suitable for a tool tip or similar help text.
  #      ),
  #      (
  #        title = (defaultText = "viewer"),
  #        permissions  = [false],
  #        verbPhrase = (defaultText = "can view the document"),
  #        description = (defaultText = "viewers may view what other users have written."),
  #      ),
  #    ],
  #  ),
  #  #apiPath = "/api",
  #  # Apps can export an API to the world.  The API is to be used primarily by Javascript
  #  # code and native apps, so it can't serve out regular HTML to browsers.  If a request
  #  # comes in to your app's API, sandstorm-http-bridge will prefix the request's path with
  #  # this string, if specified.
  #),
);

const myCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/sandstorm-http-bridge", "8000", "--", "/bin/bash", "/opt/app/.sandstorm/launcher.sh"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"),
    (key = "SANDSTORM", value = "1"),
    # Export SANDSTORM=1 into the environment, so that apps running within Sandstorm
    # can detect if $SANDSTORM="1" at runtime, switching UI and/or backend to use
    # the app's Sandstorm-specific integration code.
  ]
);

@0xb0032512fca90cd9;

using Spk = import "/sandstorm/package.capnp";
# This imports:
#   $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.

const pkgdef :Spk.PackageDefinition = (
  # The package definition. Note that the spk tool looks specifically for the
  # "pkgdef" constant.

  id = "uws252ya9mep4t77tevn85333xzsgrpgth8q4y1rhknn1hammw70",
  # Your app ID is actually its public key. The private key was placed in
  # your keyring. All updates must be signed with the same key.

  manifest = (
    appTitle = (defaultText = "Firefly III"),
    appVersion = 1,
    appMarketingVersion = (defaultText = "4.6.9"),

    actions = [
      # Define your "new document" handlers here.
      ( nounPhrase = (defaultText = "administration"),
        command = .myCommand
        # The command to run when starting for the first time. (".myCommand"
        # is just a constant defined at the bottom of the file.)
      )
    ],

    continueCommand = .myCommand,
    # This is the command called to start your app back up after it has been
    # shut down for inactivity. Here we're using the same command as for
    # starting a new instance, but you could use different commands for each
    # case.

    metadata = (
         icons = (
        appGrid = (png = (dpi1x = embed "app-graphics/firefly-iii-128.png")),
        grain = (png = (dpi1x = embed "app-graphics/firefly-iii-24.png",
                        dpi2x = embed "app-graphics/firefly-iii-48.png")),
        market = (png = (dpi1x = embed "app-graphics/firefly-iii-150.png"))
      ),

      website = "https://firefly-iii.github.io/",
      codeUrl = "https://github.com/firefly-iii/firefly-iii",
      #license = (openSource = mit),
      license = (proprietary = (defaultText = embed "../LICENSE")),
      # The license this package is distributed under.  See
      # https://docs.sandstorm.io/en/latest/developing/publishing-apps/#license

      categories = [productivity],
      # A list of categories/genres to which this app belongs, sorted with best fit first.
      # See the list of categories at
      # https://docs.sandstorm.io/en/latest/developing/publishing-apps/#categories

      author = (
        contactEmail = "thegrumpydictator@gmail.com",
        upstreamAuthor = "James Cole",
        pgpSignature = embed "pgp-signature",
      ),

      pgpKeyring = embed "pgp-keyring",
      description = (defaultText = embed "description.md"),
      shortDescription = (defaultText = "Financial management"),
      screenshots = [
        # Screenshots to use for marketing purposes.  Examples below.
        # Sizes are given in device-independent pixels, so if you took these
        # screenshots on a Retina-style high DPI screen, divide each dimension by two.

        (width = 1291, height = 800, png = embed "screenshots/screenshot-1.png"),
        (width = 1291, height = 800, png = embed "screenshots/screenshot-2.png"),
        (width = 1291, height = 800, png = embed "screenshots/screenshot-3.png"),

      ],
      changeLog = (defaultText = embed "changelog.md"),
    ),
  ),

  sourceMap = (
    # Here we defined where to look for files to copy into your package. The
    # `spk dev` command actually figures out what files your app needs
    # automatically by running it on a FUSE filesystem. So, the mappings
    # here are only to tell it where to find files that the app wants.
    searchPath = [
      ( sourcePath = "." ),  # Search this directory first.
      ( sourcePath = "/",    # Then search the system root directory.
        hidePaths = [ "home", "proc", "sys",
                      "etc/passwd", "etc/hosts", "etc/host.conf",
                      "etc/nsswitch.conf", "etc/resolv.conf" ]
        # You probably don't want the app pulling files from these places,
        # so we hide them. Note that /dev, /var, and /tmp are implicitly
        # hidden because Sandstorm itself provides them.
      )
    ]
  ),

  fileList = "sandstorm-files.list",
  # `spk dev` will write a list of all the files your app uses to this file.
  # You should review it later, before shipping your app.

  alwaysInclude = ["opt/app/app","opt/app/bootstrap","opt/app/config","opt/app/database","opt/app/public","opt/app/resources","opt/app/routes"],
  # Fill this list with more names of files or directories that should be
  # included in your package, even if not listed in sandstorm-files.list.
  # Use this to force-include stuff that you know you need but which may
  # not have been detected as a dependency during `spk dev`. If you list
  # a directory here, its entire contents will be included recursively.

  #bridgeConfig = (
  #  # Used for integrating permissions and roles into the Sandstorm shell
  #  # and for sandstorm-http-bridge to pass to your app.
  #  # Uncomment this block and adjust the permissions and roles to make
  #  # sense for your app.
  #  # For more information, see high-level documentation at
  #  # https://docs.sandstorm.io/en/latest/developing/auth/
  #  # and advanced details in the "BridgeConfig" section of
  #  # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/package.capnp
  #  viewInfo = (
  #    # For details on the viewInfo field, consult "ViewInfo" in
  #    # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/grain.capnp
  #
  #    permissions = [
  #    # Permissions which a user may or may not possess.  A user's current
  #    # permissions are passed to the app as a comma-separated list of `name`
  #    # fields in the X-Sandstorm-Permissions header with each request.
  #    #
  #    # IMPORTANT: only ever append to this list!  Reordering or removing fields
  #    # will change behavior and permissions for existing grains!  To deprecate a
  #    # permission, or for more information, see "PermissionDef" in
  #    # https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/grain.capnp
  #      (
  #        name = "editor",
  #        # Name of the permission, used as an identifier for the permission in cases where string
  #        # names are preferred.  Used in sandstorm-http-bridge's X-Sandstorm-Permissions HTTP header.
  #
  #        title = (defaultText = "editor"),
  #        # Display name of the permission, e.g. to display in a checklist of permissions
  #        # that may be assigned when sharing.
  #
  #        description = (defaultText = "grants ability to modify data"),
  #        # Prose describing what this role means, suitable for a tool tip or similar help text.
  #      ),
  #    ],
  #    roles = [
  #      # Roles are logical collections of permissions.  For instance, your app may have
  #      # a "viewer" role and an "editor" role
  #      (
  #        title = (defaultText = "editor"),
  #        # Name of the role.  Shown in the Sandstorm UI to indicate which users have which roles.
  #
  #        permissions  = [true],
  #        # An array indicating which permissions this role carries.
  #        # It should be the same length as the permissions array in
  #        # viewInfo, and the order of the lists must match.
  #
  #        verbPhrase = (defaultText = "can make changes to the document"),
  #        # Brief explanatory text to show in the sharing UI indicating
  #        # what a user assigned this role will be able to do with the grain.
  #
  #        description = (defaultText = "editors may view all site data and change settings."),
  #        # Prose describing what this role means, suitable for a tool tip or similar help text.
  #      ),
  #      (
  #        title = (defaultText = "viewer"),
  #        permissions  = [false],
  #        verbPhrase = (defaultText = "can view the document"),
  #        description = (defaultText = "viewers may view what other users have written."),
  #      ),
  #    ],
  #  ),
  #  #apiPath = "/api",
  #  # Apps can export an API to the world.  The API is to be used primarily by Javascript
  #  # code and native apps, so it can't serve out regular HTML to browsers.  If a request
  #  # comes in to your app's API, sandstorm-http-bridge will prefix the request's path with
  #  # this string, if specified.
  #),
);

const myCommand :Spk.Manifest.Command = (
  # Here we define the command used to start up your server.
  argv = ["/sandstorm-http-bridge", "8000", "--", "/bin/bash", "/opt/app/.sandstorm/launcher.sh"],
  environ = [
    # Note that this defines the *entire* environment seen by your app.
    (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"),
    (key = "SANDSTORM", value = "1"),
    # Export SANDSTORM=1 into the environment, so that apps running within Sandstorm
    # can detect if $SANDSTORM="1" at runtime, switching UI and/or backend to use
    # the app's Sandstorm-specific integration code.
  ]
);