var SuperPipe = require('superpipe')


exports.initLocalService = SuperPipe
  .pipeline()
  // Gether service information
  .pipe('getEnvVariables')
  .pipe('getPackageJSON', 'packagePath', 'packageJSON')
  .pipe('getServiceInfo',
    ['packageJSON', 'service'],
    ['hasAsset', 'serviceName', 'serviceInfo', 'serviceVersion'])
  .pipe('prepareService', ['hasAsset', 'service'])
  // Setup web features
  .pipe('prepareFramework?',
    ['framework', 'setDep'],
    ['app', 'attachRoutes', 'attachLocalMiddlewares', 'startHttpServer', 'serveLocalAsset'])
  .pipe('setupAsset?', ['hasAsset', 'packageJSON'], 'asset')
  .pipe('setupRoute?', ['route', 'page', 'pageApiBaseUrl'], 'routes')
  .pipe('setupUse?', 'use', 'uses')
  .pipe('setupMiddleware?', ['middleware', 'middlewareBaseUrl'], 'middlewares')
  // Start web server and attach request handlers
  .pipe('startWebServer?',
    ['port', 'host', 'serviceName', 'startHttpServer', 'setDep'],
    ['httpServer', 'httpPort', 'httpHost'])
  .pipe('serveLocalAsset?', ['asset', 'serviceName'])
  .pipe('attachRoutes?', ['routes', 'service'])
  .pipe('attachLocalMiddlewares?', ['middlewares', 'service'])

@@ -600,23 +600,38 @@
 JSON'%5D, 
+%5B
 'asset'
+, 'assetInfo'%5D
 )%0A  .pip
@@ -1146,24 +1146,433 @@
 ddlewares', 'service'%5D)%0A
+  // RPC features%0A  .pipe('setupRPC?', %5B'api', 'rpcType'%5D, %5B'rpc', 'rpcApi'%5D)%0A  .pipe('startRPCServer?', %5B'rpc', 'rpcPort', 'host', 'service', 'setDep', 'next'%5D)%0A  .pipe('generateAnnouncement',%0A    %5B'assetInfo', 'routes', 'uses', 'middlewares', 'service',%0A      'httpPort', 'framework', 'rpcApi', 'rpcPort', 'rpcType', 'host'%0A    %5D, 'announcement')%0A  .pipe('announceService', %5B'serviceName', 'announcement'%5D)%0A

Add RPC and announcement to service pipeline.